Проверить статус копии скрипта оболочки
У меня есть скрипт cron, и мне нужно его настроить; На самом деле некоторые клиенты генерируют в каталоге несколько файлов, моя задача - сделать резервные копии этих файлов на ленте, и мне нужно сделать if if else
cp $files $tape
if exit 0
then
send successfully mail
delete files
else
send a fail mail
but don't delete that files
fi
Может ли кто-нибудь помочь мне с этим?
Может быть с чем-то в этом роде? На самом деле код такой
find $STR_FILES -print | backup -ivq -f $TAPE >> /tmp/logfile
Вы говорите, что я должен поставить что-то подобное?
BKP='find $STR_FILES -print | backup -ivq -f $TAPE'
$BKP >> /tmp/logfile
if [$BKP -eq 0 ]
then
...
else
...
fi
?
На самом деле я сделал в качестве теста
На самом деле я сделал cd / find /u01 -name ora_856562.aud
if ["$?" = "0" ]; then
rm /u01/app/oracle/product/10.2.0/db_1/rdbms/audit/ora_856562.aud
(echo "Se depuraron *.aud Ok") | mail -r oracle_alfa@notification.imcl-peoplesoft.com -s "Prueba if" egrc77@hotmail.com
else
(echo "NO Se depuraron *.aud Ok") | mail -r oracle_alfa@notification.imcl-peoplesoft.com -s "Prueba if" egrc77@hotmail.com
fi
exit
но терпит неудачу с
./prueba.sh[3]: 0: not found.
./prueba.sh[5]: [127: not found.
1 ответ
Я бы настоятельно рекомендовал вам для этой задачи пользователя rsync.
Но вернемся к теме, ваш сценарий почти готов, но вам нужно будет исправить несколько вещей:
Условное должно быть исправлено. Вам нужно что-то вроде:
если [ $? -экв. 0 ]
Читайте здесь об условностях и тому подобном.
- Вы можете легко отправлять почту из CLI с помощью одной из нескольких программ. Я советую sendmail для простоты использования. Больше здесь