Rsync-script nur zwischen 22:00 und 06:00 laufen lassen
Hallo, ich muß über eine sehr schalle DSL Leitung Server syncen. Soweit so schlcht. Damit die User tagsüber noch halbwegs arbeiten können möchte ich mein Script so laufen lassen das es sich um 06:00 in jedem Fall beendet Habe ich eine Chance innerhalb eines rsync-scriptes zuverlässig abzubrechen oder muß ich ein zweites Script per cron starten was das erste Script stoppt? Gruß -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Moin moin, Ralf Prengel schrieb:
Hallo,
ich muß über eine sehr schalle DSL Leitung Server syncen. Soweit so schlcht. Damit die User tagsüber noch halbwegs arbeiten können möchte ich mein Script so laufen lassen das es sich um 06:00 in jedem Fall beendet Habe ich eine Chance innerhalb eines rsync-scriptes zuverlässig abzubrechen oder muß ich ein zweites Script per cron starten was das erste Script stoppt?
Soweit mir bekannt ist kann man das nur einigermassen kontrolliert abbrechen, indem man dem Prozeß von außen ein SIGTERM schickt, dazu ist jedoch ein weiteres Shellscript nötig. Die Holzhammermethode wär ihm 6.00h das Netz unter den 'Füßen' wegzuziehn' und ihn auf die 'Nase' fallen zu lassen, dann solltest Du dem rsync allerdings ein Timeout mitgeben sonst verharrt es gern im 'stalled' , wie gesagt diese Methode is wohl eher als Notbremse tauglich und hinterlässt mindestens eine Datei im undefinierten Zustand, daher probier lieber Nummer 1, Prozess suchen und SIGTERM schicken. gruss Max
Gruß
Markus Heinze, Freitag, 2. Mai 2008 08:12:
Soweit mir bekannt ist kann man das nur einigermassen kontrolliert abbrechen, indem man dem Prozeß von außen ein SIGTERM schickt, dazu ist jedoch ein weiteres Shellscript nötig. Die Holzhammermethode wär ihm 6.00h das Netz unter den 'Füßen' wegzuziehn' und ihn auf die 'Nase' fallen zu lassen, dann solltest Du dem rsync allerdings ein Timeout mitgeben sonst verharrt es gern im 'stalled' , wie gesagt diese Methode is wohl eher als Notbremse tauglich und hinterlässt mindestens eine Datei im undefinierten Zustand, daher probier lieber Nummer 1, Prozess suchen und SIGTERM schicken.
Jo, ich würde da das Hauptskript eine temoräre Datei mit der PID anlegen und beim Beenden wieder löschen lassen. Und um 6 Uhr kommt dann ein weiteres Skript, welches nachguckt, ob diese Datei noch vorhanden ist. Wenn ja => rsync läuft noch => PID aus der Datei ziehen und Hauptskript abschießen. -- Andre Tann -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Freitag, 2. Mai 2008 schrieb Andre Tann:
(...). Jo, ich würde da das Hauptskript eine temoräre Datei mit der PID anlegen und beim Beenden wieder löschen lassen. Und um 6 Uhr kommt dann ein weiteres Skript, welches nachguckt, ob diese Datei noch vorhanden ist. Wenn ja => rsync läuft noch => PID aus der Datei ziehen und Hauptskript abschießen.
Dieses Vorgehen klingt für mich wie ein Teil der Funktionalität, welche startproc, checkproc und killproc anbieten. Allerdings steht irgendwas von Shell-Skripten in der Man-Page, da die o.g. Programme recht ausgefeilte Mechanismen zur Identifzierung des "gemeinten" Prozesses nutzen: | Identifying a process based on the executable file and the corresponding | inode number only works if the process stays alive during startproc's | execution. Processes rewriting their zeroth argument or shell scripts (the | inode number of the shell executable file is not identical to that of the | script file) may not be identified by a filename path. Gruß Jan -- Never look behind you, something may be gaining on you. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (4)
-
Andre Tann
-
Jan Ritzerfeld
-
Markus Heinze
-
Ralf Prengel