rsync-Backup und var

29/04/2008 - 18:57 von Peter Mairhofer | Report spam
Hi,

Ich mache mit rsync ein Backup von /var. Waehrend des Backups kommt
es natuerlich vor, dass sich Files aendern bzw. wieder geloescht werden.
In meinen Backupscript moechte ich den exit-Status von rsync
pruefen und nur dann eine Fehlermeldung erhalten wenn etwas
schiefgegangen ist.

rsync ...
ret=$?
if [ $ret -ne 0 ]
then
echo "Exiting with return value: $ret" >&2
exit 2
fi

Aber bei /var erhalte ich eben oft die returnvalue 24. Kann ich mir
sicher sein dass das Backup auch bei ret$ garantiert gut gegangen
ist, ausser dass eben die Dateien die waehrenddessen geloescht wurden
nicht im Backup sind?

D.h.

rsync ...
ret=$?
test $ret -eq 24 && exit 0 # erfolgreich
if [ $ret -ne 0 ]
... nicht erfolgreich
exit 2
fi

erfolgreich

mfg,
Peter
 

Lesen sie die antworten

#1 Markus Marquardt
29/04/2008 - 19:11 | Warnen spam
Hallo Peter,

In meinen Backupscript moechte ich den exit-Status von rsync
pruefen und nur dann eine Fehlermeldung erhalten wenn etwas
schiefgegangen ist.



Hier die Liste von http://www.samba.org/rsync:

0 Success
1 Syntax or usage error
2 Protocol incompatibility
3 Errors selecting input/output files, dirs
4 Requested action not supported: an attempt was made to manipulate
64-bit files on a platform that cannot support them; or an option was
specified that is supported by the client and not by the server.
5 Error starting client-server protocol
6 Daemon unable to append to log-file
10 Error in socket I/O
11 Error in file I/O
12 Error in rsync protocol data stream
13 Errors with program diagnostics
14 Error in IPC code
20 Received SIGUSR1 or SIGINT
21 Some error returned by waitpid()
22 Error allocating core memory buffers
23 Partial transfer due to error
24 Partial transfer due to vanished source files
25 The --max-delete limit stopped deletions
30 Timeout in data send/receive
35 Timeout waiting for daemon connection

Somit tritt der Fehler 24 nur genau dann auf, wenn Files wàhrend des
Transfers gelöscht wurden, somit ist Deine Abfrage ok, ich würde sie
aber dennoch eher so schreiben:

if [ $ret -ne 0 -a $ret -ne 24 ]
... nicht erfolgreich
exit 2
fi

Ich praktiziere übrigens das Backup mit rsync und --link-dest im
Terabytebereich seit mehreren Jahren sehr zufriedenstellend. Es gibt
auch fertige Skripte, ich habe mir aber mein eigenes geschrieben,
welches z.B. das parallele Backup von mehreren Clients gleichzeitig
erledigt.

Ciao...
Markus

Ähnliche fragen