"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Debian: cron startet nicht (richtig)

Hiob 26.08.2008 - 10:36 910 8
Posts

Hiob

Addicted
Registered: May 2002
Location: 8010
Posts: 427
Hallo!

Ich hab Debian 4.0 laufen und möchten einmal in der Nacht ein Backup von /etc machen.
Ich habs so realisiert: Per Cron wird ein Shell Skript aufgerufen. Das rotiert mittels logrotate die bestehenden Backups, und danach wird /etc per gzip neu gebackupt.

Das Skript läuft eigentlich tadellos. Nur: Jetzt hab ichs auf meinen Servern schon laufen, und teilweise macht es was, und teils nicht. Manchmal wird das Backup per gzip erstellt. Manchmal nicht.
Aber immer: Es wird nie das logrotate durchgeführt.

Teilweise finde ich auch nicht mal den Aufruf des Crons in der /var/log/syslog. Und das versteh ich einfach nicht.

Ich hab gegoogelt und einen Haufen deutscher Foren gefunden ... nur die haben auch alle keinen Plan. Habe gelesen, dass cron teils anders läuft, als wenn Skripte in der Shell direkt aufruft. Nur kann ich mit dieser Info nix anfangen, dass des Ding richtig läuft.

Ist mein Problem soweit verständlich? Wenn nicht, ich erläuter es gern nochmal.

Mahalo, Hiob

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12070
Script und crontab posten, dann schau'ma weiter.

Hiob

Addicted
Registered: May 2002
Location: 8010
Posts: 427
crontab:
Code:
30 0 * * * /usr/local/sbin/backup_default
/usr/local/sbin/backup_default:
Code:
#!/bin/sh
logrotate /etc/logrotate_backup_default.cfg
tar -czf /root/backup/default/etc.gz /etc;
/etc/logrotate_backup_default:
Code:
/root/backup/default/*.gz.6.3 {
    monthly
    missingok
    rotate 11
    nocreate
    sharedscripts
}

/root/backup/default/*.gz.6 {
    weekly
    missingok
    rotate 3 
    nocreate
    sharedscripts
}

/root/backup/default/*.gz {
    daily
    ifempty
    missingok
    rotate 6
    nocreate
    sharedscripts
}
der Kommentar von logrotate, wenn logrotate mit "-v" aufgerufen wird:
Code:
rotating pattern: /root/backup/default/*.gz  after 1 days (6 rotations)
empty log files are rotated, old logs are removed
considering log /root/backup/default/etc.gz
  log does not need rotating
Der Timestamp der Datei liegt aber am 22.8.
Hat das eventuell was mit /var/lib/logrotate/status zu tun, und welche Zeitstempel da drin sind?

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12070
Absolute Pfade zu den Binaries im Shellscript verwenden. crond hat ueblicherweise ein anderes environment als deine normale interaktive (Login-)Shell, und deshalb nicht notwendigerweise den selben $PATH.

Hiob

Addicted
Registered: May 2002
Location: 8010
Posts: 427
ich verwende überall absolute Pfade

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12070
Laut deinem Listing (/usr/local/sbin/backup_default) nicht. Ist der syslogd auf allen Boxen gleich konfiguriert? (Insb.: geht die facility, auf die cron logt, auf allen ins selbe File?)

Hiob

Addicted
Registered: May 2002
Location: 8010
Posts: 427
ah, du meinst den Aufruf für logrotate ... hm, hab ich übersehen, sorry. Werd das mal ausbessern! Danke hierfür mal!

/edit
das wird aber wahrscheinlich nicht der eine Fehler gewesen sein, denn sonst würd ja im syslog der Aufruf crons drin stehn. Tuts aber nicht. Der Cronjob wird nie aktiv...

/edit 2:
syslogd: Ganz ehrlich: Ich weiß es nicht. Es sind Firmenserver, die haben alle die selben Vorlagen zum Aufsetzen. Ich hätt mich nie am syslogd vergriffen, also nehme ich, dass er überall gleich läuft.
Bearbeitet von Hiob am 26.08.2008, 11:00 (Zusatz #2)

Hiob

Addicted
Registered: May 2002
Location: 8010
Posts: 427
UPDATE: der relative Aufruf wurde in einen absoluten umbenannt, und auf meiner Testumgebung läuft es nun so, wie es soll.
Testumgebung: Ein Skript gibt abwechselnd einen "date" und einen "sleep" Befehl aus. Date setzt das Datum jeweils auf den nächsten Tag Mitternacht, und sleep wartet eine Minute. (Mag vielleicht nicht "professionell" sein ... aber ist mir egal. Es funktioniert :D )

@ COLOSSUS: Herzliches Danke! Vier Augen (oder deine zwei) sehen mehr, als meine! ;)

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12070
Gerne, keine Ursache :)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz