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

0

Я бы настоятельно рекомендовал вам для этой задачи пользователя rsync.

Но вернемся к теме, ваш сценарий почти готов, но вам нужно будет исправить несколько вещей:

  • Условное должно быть исправлено. Вам нужно что-то вроде:

    если [$? -экв 0]

Читайте здесь об условностях и тому подобном.

  • Вы можете легко отправлять почту из CLI с помощью одной из нескольких программ. Я советую sendmail для простоты использования. Больше здесь

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .