che ne dici nel ramo else di fare un ciclo per N iterazioni con qualche sleep ogni volta guardando se il pid è ancora attivo.
Sapendo quanto dura (worst case*N) la tua sessione rsync alla fine del ciclo se il comando non è terminato (il pid esiste ancora) puoi rimuoverlo senza troppi problemi e killare l'istanza. A quel punto rilanci rsync che ne dici? Gianfranco >________________________________ > Da: Pol Hallen <[email protected]> >A: [email protected] >Inviato: Venerdì 5 Aprile 2013 14:48 >Oggetto: [bash] PID file > > >Ciao a tutti :-) > >sto sistemando (finalmente!) uno script rsync tra due server remoti. > >Ho implementato il PID file per non avere rsync paralleli e controproducenti >(in cron, rsync viene avviato tutti i giorni): > >if [ -e /home/user/run/transfer1.pid ] >then >echo "yes" >else >rsync [qui parte lo script] >fi >rm /home/user/run/transfer1.pid > >così funziona :-) > >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? > >grazie! > >Pol > >

