Non ne vedo il motivo, semplicemente rsync di default non ha timeout, quindi 
rimane in attesa all'infinito (e lui non vuole lanciarlo due volte).

Mettendo il timeout sei sicuro che sia in caso rsync vada in timeout, sia in 
caso che rsync finisce o crasha comunque il pid viene cancellato.

Se il server è giù per i suoi motivi è contemplato già nel timeout.

Ci sono numerosi casi non considerati, ad esempio il fatto che si 
spenga/riavvii il pc durante l'esecuzione di rsync, o più in generale lo script 
venga killato a mano
La certezza matematica è possibile solo con soluzioni veramente complicate ed 
onerose, e comunque qualche assunzione semplificativa la dovrai sempre fare


Gianfranco



>________________________________
> Da: Piviul <[email protected]>
>A: [email protected] 
>Inviato: Venerdì 5 Aprile 2013 16:25
>Oggetto: Re: [bash] PID file
> 
>Pol Hallen scrisse in data 05/04/2013 14:48:
>> [...]
>>
>> ma il problema è: se mentre rsync è in esecuzione cade la rete (o
>> altro), rsync si blocca e il PID file non viene rimosso, ergo rsync
>> avviato da cron il giorno successivo non partirà più.
>>
>> Qualche idea?
>>
>Non ho ben capito cosa faccia rsync quando cade la rete... se si blocca
>allora sei tu a killare il tuo processo è giusto?
>
>Io comunque in queste situazione uso il comando trap; qualcosa come:
>
>#!/bin/bash
>
>[...]
>
># inizio fase critica
>lock_path=/.../.../...
>if [ -e $lock_path ]; then
>    $logger "E: another instance of $(basename $0 .sh) is running: exit
>forced"
>    exit 1
>fi
>main_trap_exit="rm -f $lock_path"
>trap "{ $main_trap_exit; exit 1 }" INT TERM EXIT
>echo $$ > $lock_path
>
>[inserisci qui il tuo codice critico]
>
>eval $main_trap_exit
>trap - INT TERM EXIT
>
>Ciao
>
>Piviul
>
>
>-- 
>Per REVOCARE l'iscrizione alla lista, inviare un email a 
>[email protected] con oggetto "unsubscribe". Per
>problemi inviare un email in INGLESE a [email protected]
>
>To UNSUBSCRIBE, email to [email protected]
>with a subject of "unsubscribe". Trouble? Contact [email protected]
>Archive: http://lists.debian.org/[email protected]
>
>
>
>

Rispondere a