Ich habe ein einfaches Bash-Skript geschrieben, um bestimmte Dateien täglich auf einem Backup-Mount zu sichern und die letzten 3 Tage der Backups aufzubewahren. Es ist offensichtlich zu einfach, da ich gelegentlich merkwürdiges Verhalten bekomme, das dadurch erklärt werden könnte, dass der erste MV ausgeführt wird, bevor der RM abgeschlossen ist.
Hier ist das Skript:
#!/bin/bash
mount /mnt/backups
while [ ! -d /mnt/backups/dailyBackup-0 ]
do
echo "Backup mount not present, sleeping..."
sleep 30
done
rm -r /mnt/backups/dailyBackup-2
mv /mnt/backups/dailyBackup-1 /mnt/backups/dailyBackup-2
mv /mnt/backups/dailyBackup-0 /mnt/backups/dailyBackup-1
dirname="/mnt/backups/dailyBackup-0"
mkdir $dirname
cd /
rsync -qr --stats root etc var $dirname
umount /mnt/backups
Obwohl dies die meiste Zeit in Ordnung ist, habe ich manchmal Folgendes: Es sieht so aus, als würde dailyBackup-1 verschoben, bevor dailyBackup-2 vollständig gelöscht wurde. Wenn dies der Fall ist, wie kann dies am besten verhindert werden?
/mnt/backups/dailyBackup-0:
total 0
drwxrwxrwx 1 root root 0 2010-12-07 03:27 var
drwxrwxrwx 1 root root 0 2010-12-07 02:39 root
drwxrwxrwx 1 root root 0 2010-12-07 02:38 etc
/mnt/backups/dailyBackup-1:
total 0
drwxrwxrwx 1 root root 0 2010-12-06 03:26 var
drwxrwxrwx 1 root root 0 2010-12-06 02:32 root
drwxrwxrwx 1 root root 0 2010-12-06 02:32 etc
/mnt/backups/dailyBackup-2:
total 0
drwxrwxrwx 1 root root 0 2010-12-07 02:36 var
drwxrwxrwx 1 root root 0 2010-12-05 03:21 dailyBackup-1