Скрипт MD5.Как создать скрипт, если md5check не может повторить попытку загрузки скрипта - PullRequest
0 голосов
/ 22 ноября 2011

У меня запущен скрипт для загрузки резервных копий с моего сервера.

Файлы проверяются MD5, если они одинаковые.

Вот мой сценарий:

if [[ ! "$1" =~ ^[0-9]{8}$ ]] || [[ ! "$2" =~ ^[0-9\.]+$ ]] || [[ ! "$3" =~ ^[A-Z0-9]+$ ]]
then
   echo "Gebruik: backup_downloaden.sh jjjjmmdd ipadres naam"
   exit 1
fi

cd /home/backups/Servers

scp -i /home/backups/.ssh/dedecaan_backups backups@$2:$3-$1-0500.tgz.gpg .
scp -i /home/backups/.ssh/dedecaan_backups backups@$2:$3-$1-0500.tgz.gpg.md5 .
scp -i /home/backups/.ssh/dedecaan_backups backups@$2:$3-$1-0500.tgz.gpg.volledig .

date > $3-$1.log
ls -l $3-$1-* --time-style=long-iso >> $3-$1.log
md5sum.textutils -c $3-$1-0500.tgz.gpg.md5 >> $3-$1.log

scp -i /home/backups/.ssh/dedecaan_backups $3-$1.log backups@$2:$3-$1.log
# logs altijd ook naar de productieserver kopiëren
scp -i /home/backups/.ssh/dedecaan_backups $3-$1.log backups@85.17.173.168:$3-$1.log

Я хочу, чтобы при сбое проверки задание на загрузку начиналось заново. Как я могу это сделать?

Спасибо

1 Ответ

0 голосов
/ 22 ноября 2011

давайте посмотрим на документ: info coreutils 'md5sum invocation' (как сказано на справочной странице man md5sum):

- проверка '

 Read file names and checksum information (not data) from each FILE
 (or from stdin if no FILE was specified) and report whether the
 checksums match the contents of the named files. 

[...]

 If any listed file cannot be opened or read,
 if any valid line has an MD5 checksum inconsistent with the
 associated file, or if no valid line is found, `md5sum' exits with
 nonzero status.  Otherwise, it exits successfully.

так что вам нужно проверить возвращаемое значение md5sum.textutils и вернуться к началу, если возвращаемое значение не равно 0 возвращаемое значение последней выполненной команды сохраняется в $?.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...