set whichwrap=b,s,h,l,<,>,~,[,]
Я бы посоветовал вам скопировать всё, что можно, пока вы можете сделать на этом запасном диске.
Худшим случаем является то, что умирающий диск умирает до того, как вы закончите копирование или во время попытки восстановления RAID.
set whichwrap=
При попытке сохранить файлы: вы закончите с сохранением некоторых из ваших "нетривиальных" данных
При восстановлении массива: вы потеряете всё
(выбор в таком случае очевиден)[1130131].
Я написал сценарий для решения этого. Некоторые вещи находятся на итальянском, но я думаю, что вы можете легко понять, как работает сценарии. В любом случае, вы можете легко перевести все.
Скрипт в основном проверяет, подключен ли BlackBerry к сети. Если да, он проверяет, существует ли файл фиктивного файла, если оно это означает, что это означает, что другой исстан сценария уже работает, поэтому он выходит. Если никаких других аспектов не работает, он проверяет, когда в последний раз скрипт RAN (так не для резервного копирования BlackBerry каждые 10 минут). Если Dummy.File.Time старше 3 часов (10800 секунд), он запускает резервное копирование с помощью RSYNC.
#!/bin/sh
# BlackBerry backup via SMB share
#
# Cosa fa lo script?
#
# Lo script fa il ping del blackberry
# Se il ping va a buon fine, controlla se esiste "$dummyfile"
# (per non eseguire più backup in parallelo).
# Se esiste "$dummyfile", controlla se "$dummyfiletime" è più
# vecchio di due ore (per non ripetere il backup in continuazione).
# Se "$dummyfiletime" è più vecchio di due ore, monta lo SMB share
# del blackberry e inizia il backup con rsync.
#
##### PARAMETERS START #####
logdate=$(date +"%m-%Y")
ip="192.168.1.5"
dummyfile="/media/truecrypt2/blackberry SMB Backup/dummy.file"
dummyfiletime="/media/truecrypt2/blackberry SMB Backup/dummy.file.time"
monta="mount -t cifs -o username=USER,password=PASSWORD //$ip/media/ /media/blackberrySMB/"
sincronizza="rsync -a /media/blackberrySMB /media/truecrypt2/blackberry\ SMB\ Backup"
scriptlog="/var/log/blackberrySMBbackup/script_$logdate.log"
rsynclog="/var/log/blackberrySMBbackup/rsync_$logdate.log"
dummyfiletimeage=$(( `date +%s` - `stat -L --format %Y "$dummyfiletime"` )) #age of the dummy.file.time
defaultage="10800" #in seconds
###### PARAMETERS END ######
echo "$(date +"%D %T") : BlackBerry SMB backup lanciato." >>$scriptlog
echo "Effettuo ping verso $ip" >>$scriptlog
if fping -c 1 -t 500 $ip >>/dev/null
then
echo "Risposta al ping ricevuta da $ip" >>$scriptlog
if [ -f "$dummyfile" ]
then
echo -e "dummy.file esistente. Forse il processo e gia in esecuzione. Esco.\n" >>$scriptlog
exit
else
echo "dummy.file non esistente. Controllo se dummy.file.time e piu vecchio di 3 ore." >>$scriptlog
if [ "$dummyfiletimeage" -gt "$defaultage" ]
then
echo "dummy.file.time e piu vecchio di 3 ore. Inizio il backup." >>$scriptlog
touch "$dummyfile"
rm "$dummyfiletime"
touch "$dummyfiletime"
umount //$ip/media/
umount //$ip/media/
$monta
echo "$(date +"%D %T") : BlackBerry SMB rsync lanciato." >>$rsynclog
rsync --verbose -a /media/blackberrySMB /media/truecrypt2/blackberry\ SMB\ Backup >>$rsynclog
echo "***************************" >>$rsynclog
umount //192.168.1.5/media/
rm "$dummyfile"
echo -e "Backup completato. Esco.\n" >>$scriptlog
exit
else
echo -e "dummy.file.time e piu recente di 3 ore. Esco.\n" >>$scriptlog
exit
fi
fi
else
echo -e "Nessuna risposta al ping da $ip. Blackberry non connesso. Esco.\n" >>$scriptlog
exit
fi
Да, rsync сделает. Но Revames приведет к дублированию, если вы не принимаете дополнительные шаги.
Это может быть: состоить список переданных файлов, а затем проверьте, есть ли существующий файл того же размера и содержимого ...
Часть вторая: Вы должны сначала сделать Ping-Check сначала перед запуском rsync. Или просто используйте небольшое значение тайм-аута соединения с rsync.
Возможно, этот старый ответ о вопросе, как Сравнить с rsync может помочь вам также.