Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 17

Thema: Backup-Deamon

  1. #1
    Registrierter Benutzer
    Registriert seit
    24.08.2004
    Beiträge
    749

    Backup-Deamon

    Hallo,

    ich würde gerne einen Backup-Deamon schreiben der mir ein gewisses verzeichnis täglich zu einer bestimmten Zeit auf einem remote rechner der an einem Netzt hängt wo ich ebenfalls user bin backupt.
    Ich bin noch völlig unbewandert im deamon schreiben....ginge das über shell-scripting oder so? Oder gibt es sogar schon fertige skripte?

    Danke

  2. #2
    lf.de-migo
    Gast
    Ich bin noch völlig unbewandert im deamon schreiben....ginge das über shell-scripting oder so? Oder gibt es sogar schon fertige skripte?
    Wenn du's gerne selbst schreiben willst, geht das mit Shellscripting/cron.
    Dazu richtest du erstmal eine public-key Authentifizierung auf dem Backuprechner ein, damit du dich dort als dein User ohne Passwort einloggen kannst und erstellst dann einen cronjob, der dir das Verzeichnis per scp auf den Backuprechner kopiert.

    Brauchst du eine Versionierung oder reicht dir das einfache Kopieren?

  3. #3
    Registrierter Benutzer
    Registriert seit
    24.08.2004
    Beiträge
    749
    Danke schonmal für den post. Was genau meinst du mit Versionierung? Meinst du versionierung der backups? Damit dürfte sich ja der Platz ziemlich füllen nach der Zeit wenn ich täglich einen cron-job starten würde...

    Das mit dem cron hört sich sehr einfach nach nem 10-Zeiler an (oder so ähnlich)...kann das sein? Gäbe es irgendwo eine einfach anleitung?

    danke

  4. #4
    lf.de-migo
    Gast
    Danke schonmal für den post. Was genau meinst du mit Versionierung? Meinst du versionierung der backups? Damit dürfte sich ja der Platz ziemlich füllen nach der Zeit wenn ich täglich einen cron-job starten würde...
    Ja, meine ich
    Wenn du das Backup per rsync machst, gibt es allerdings die Möglichkeit, unveränderte Dateien nicht mitkopieren zu lassen sondern nur zu verlinken. Die brauchen somit keinen zusätzlichen Speicherplatz.
    Das mit dem cron hört sich sehr einfach nach nem 10-Zeiler an (oder so ähnlich)...kann das sein? Gäbe es irgendwo eine einfach anleitung?
    Anelitung braucht's da eigentlich keine; du kannst in cron den gleichen Befehl verwenden, den du auch zum Kopieren per Hand verwenden würdest.

  5. #5
    Registrierter Benutzer
    Registriert seit
    27.10.2008
    Beiträge
    6
    Denke dass sollten mit Sicherheitsabfragen und Löschen alter Versionen nicht mehr als 4-5 Zeilen werden. Einfach in die eigene Crontab und fertig.
    SSH-Key-Login mal vorrausgesetzt.

    Willst du das Backup selbst entwickeln oder eine Anleitung?

  6. #6
    Registrierter Benutzer
    Registriert seit
    24.08.2004
    Beiträge
    749
    Danke euch...ich hab schon mal angefangen allerdings funktioniert der cron noch net...bzw. wollte dass er mir per Mailto eine Mail schreibt.....ich muss nochmal bei mehr Zeit drüberschauen...

    Willst du das Backup selbst entwickeln oder eine Anleitung?
    Was meinst du denn damit? Ich dachte ich mache einfach ein scp -r eines Oberordners ... das jeden Tag. Bzw. eine gezippte/getarte Variante um Platz zu sparen. Unsauber oder unschön sowas?

  7. #7
    Registrierter Benutzer
    Registriert seit
    20.02.2004
    Ort
    Boeblingen
    Beiträge
    90
    Damit uebertraegst du halt jedesmal alle Daten, unabhaengig davon, ob die sich geaendert haben. Schau Dir mal rsync / rsnapshot an...
    Servus und bis bald,

    Blackhawk

  8. #8
    Registrierter Benutzer
    Registriert seit
    24.08.2004
    Beiträge
    749
    Danke,

    also iirgendwie geht das mit dem cron bei mir nicht:
    Ich dachte cron würde mir täglich unten meine 2 zeilen ausführen und mir
    auch gleich eine Mail schreiben...was mache ich falsch?

    Ich habe über "crontab -e" versucht meine crontab zu editieren:
    Code:
    SHELL=/bin/bash
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    MAILTO=user@user.de <- ist meine wahre E-Mailadresse hier natürlich
    HOME=/
    
    # check scripts in cron.hourly, cron.daily, cron.weekly and cron.monthly
    0  *  * * *     root    rm -f /var/spool/cron/lastrun/cron.hourly
    1  3  * * *     root    rm -f /var/spool/cron/lastrun/cron.daily
    15 4  * * 6     root    rm -f /var/spool/cron/lastrun/cron.weekly
    30 5  1 * *     root    rm -f /var/spool/cron/lastrun/cron.monthly
    */10  *  * * *  root    test -x /usr/sbin/run-crons && /usr/sbin/run-crons 
    #
    #
    25 11 * * 1-5   /usr/local/bin/run-backup
    43 10 * * 1-5   mkdir crontest /home/user

  9. #9
    Registrierter Benutzer
    Registriert seit
    07.05.2007
    Beiträge
    656
    Moin,

    da stimmt was nicht. Der obere Teil ist nicht Deine crontab, sondern /etc/crontab - erkennbar am Benutzernamen in Feld 6. Für diese crontab ist Deine Syntax falsch. Mit "crontab -e" müsstest Du aber eigentlich in die eigene crontab (unter /var/spool/cron) geschrieben haben.

    Zur letzten Zeile: Wo willst Du denn ein Verzeichnis anlegen???

    Jan

  10. #10
    Registrierter Benutzer
    Registriert seit
    24.08.2004
    Beiträge
    749
    Hmm ich versteh das nicht...
    wenn ich über "crontab -e" eine crontab erstelle - bei mir steht dann im vim
    plötzlich unten als file: ""/tmp/crontab.XXXX854Jo0"

    wenn ich die editiere und abspeichere erscheint die aber nicht im /tmp.
    Und auch in /var/spool/cron/ ist da nur unter /var/spool/cron/crontab nur die
    datei "root" drin die anscheinend die crontab ist die ich oben bereits gepostet habe.

    Wo muss denn eine datei enstehen über crontab -e und wie heißt sie bei euch?

  11. #11
    Registrierter Benutzer
    Registriert seit
    27.10.2008
    Beiträge
    6
    Mit welchem User arbeitest du denn? Wenn du als root eingeloogt bist, ist es klar dass du in der root-crontab landest.
    Wenn du die crontab bearbeitest, wird die in /tmp/ "zwischengelagert" und beim speichern in den entsprechenden Ordner verschoben. Bei mir (unter Solaris) ist das /var/spool/cron/crontabs/<username>

    afaik darf man die crontab nicht direkt bearbeiten sondern nur über das crontab Kommando. Aber ich bin mir da nichtmehr 100%ig sicher.

  12. #12
    Registrierter Benutzer
    Registriert seit
    24.08.2004
    Beiträge
    749
    ja als root ja. Aber anders gehts auch nicht. Wenn ich als normaler user
    crontab -e eingebe kommt:

    Code:
    cannot chdir(/var/spool/cron), bailing out.
    /var/spool/cron: Permission denied
    Oder versteh ich was falsch?

  13. #13
    Registrierter Benutzer
    Registriert seit
    07.05.2007
    Beiträge
    656
    Moin,

    das Verzeichnis der crontabs ist normalerweise nur für root lesbar. Das crontab-Kommando hat aber (zumindest bei mir) SETUID-Bit, damit kann es die Dateien nach /var/spool/cron/tabs schreiben. Und auch die crontab für root liegt da, die unter /etc ist die System-crontab. So sieht es bei mir aus:
    Code:
    jan@jack:~/tmp> crontab -e
    no crontab for jan - using an empty one
    # hier geht vi auf
    crontab: installing new crontab
    jan@jack:~/tmp> su -
    Password:
    jack:~ # ls -l /var/spool/cron/tabs/
    total 12
    drwx------  2 root root  4096 Nov 21 19:35 .
    drwx------  4 root root  4096 Apr 28  2004 ..
    -rw-------  1 root users  221 Nov 21 19:35 jan
    jack:~ # ls -l `which crontab`
    -rwsr-xr-x  1 root trusted 26992 May 29  2006 /usr/bin/crontab
    jack:~ # crontab -e
    no crontab for root - using an empty one
    # hier geht vi auf
     crontab: installing new crontab
    jack:~ # ls -l /var/spool/cron/tabs/
    total 16
    drwx------  2 root root  4096 Nov 21 19:37 .
    drwx------  4 root root  4096 Apr 28  2004 ..
    -rw-------  1 root users  221 Nov 21 19:35 jan
    -rw-------  1 root root   220 Nov 21 19:37 root
    Jan

  14. #14
    Registrierter Benutzer
    Registriert seit
    24.08.2004
    Beiträge
    749
    Danke aber bei mir sieht das anders aus: Folgendes wie bei dir gemacht:

    Code:
    user@Gentoo ~ $ crontab -e
    cannot chdir(/var/spool/cron), bailing out.
    /var/spool/cron: Permission denied
    user@Gentoo ~ $ su
    Password: 
    Gentoo user # ls -l /var/spool/cron/crontabs/
    total 4
    -rw------- 1 root crontab 917 24. Nov 10:05 root
    Gentoo user # which crontab
    /usr/bin/crontab
    Gentoo user # ls -l `which crontab`
    -rwxr-s--x 1 root crontab 32172 13. Nov 04:12 /usr/bin/crontab
    Gentoo user # crontab -e
    crontab: no changes made to crontab
    Gentoo user # crontab -e
    crontab: installing new crontab
    Gentoo user # ls -l /var/spool/cron/crontabs/
    total 4
    -rw------- 1 root crontab 917 24. Nov 10:08 root
    Gentoo user #
    also bei mir öffnet sich mit crontab -e wenn ich root bin die crontab die ich in meinem vorigen Post gepostet habe. Und dann wird nix gespeichert unter meinem usernamen <user>.

    Wo liegt das Problem?

  15. #15
    Registrierter Benutzer
    Registriert seit
    07.05.2007
    Beiträge
    656
    Moin,

    der Unterschied sind die Berechtigungen auf das crontab-Programm. Es fehlt das SetUID-Bit, dafür ist bei Gentoo das SetGID-Bit gesetzt - der Befehl wird also nicht als "root", dafür mit der Gruppe "crontab" ausgeführt. Offenbar hat diese Gruppe aber keine Berechtigung, im crontabs-Verzeichnis zu schreiben. Scheint mir etwas merkwürdig - wie soll denn dann jemals ein normaler Benutzer cron-Jobs einrichten können? Gibts denn in den Gentoo-Foren dazu keine Hinweise???

    Da schlagen wohl Distri-spezifische Eigenarten zu, da kann ich Dir leider nicht helfen (ich weiss schon, warum ich Gentoo nicht mag ;-)

    Jan

    Ach ja: Wenn Du mal "ls -la /var/spool/cron/crontabs" absetzt, dann kriegst Du auch mit, wie die Verzeichnis-Rechte sitzen.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •