Проверьте статус сценария копирования оболочки

331
user324868

У меня есть скрипт 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. 
0

1 ответ на вопрос

0
Bruno9779

I would seriously recommend you to user rsync for this task.

But back on topic, your script is almost done but you will need to fix a few things:

  • The conditional needs to be fixed. You will needs something like:

    if [ $? -eq 0 ]

Read here about conditionals and such.

  • You can easily send mail from CLI with one of several programs. I advise sendmail for it's ease of use. More here
Код почтового скрипта, который у меня есть и работает нормально, на самом деле код выглядит так: $ STR_FILES -print | резервная копия -ivq -f $ TAPE >> $ TMP_LOG_DLS BKP = 'find $ STR_FILES -print | резервная копия -ivq -f $ TAPE 'if [$ BKP -eq 0]? user324868 9 лет назад 0
$? переменная содержит состояние выхода последней выполненной команды. Вам не нужно проверять значение $ BKP, только состояние завершения операции, в которой вы выполняете резервное копирование. Bruno9779 9 лет назад 0
На самом деле я сделал как тест user324868 9 лет назад 0
На самом деле я сделал cd / find / u01 -name ora_856562.aud, если ["$?" = "0"]; затем 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 "НЕТ Se depuraron * .aud Ok") | mail -r oracle_alfa@notification.imcl-peoplesoft.com -s "Prueba if" egrc77@hotmail.com fi выход user324868 9 лет назад 0

Похожие вопросы