我遇到的问题是bash脚本没有从cron运行。当我从cli以root身份运行时,它运行良好。正如您所看到的,我在脚本完成时写入了一个txt文件。当脚本从cron运行时,也会执行此操作,仅保存Oracle dmp(显然不会压缩)。这项工作非常快,所以我猜它没有做oracle导出......
谢谢你的帮助!
backup.sh
#!/bin/bash
#makes an Oracle backup and zips the created file
TIME=`date +%F_%H:%M:%S`
FILENAME=Backup-$TIME
exp userid=user/password file=/home/user/DatabaseBackup/$FILENAME.dmp
zip /home/user/DatabaseBackup/$FILENAME.zip /home/user/DatabaseBackup/$FILENAME$
find /home/user/DatabaseBackup/ -mtime +0 -type f -delete
echo "Backup completed:" `date +%F_%H:%M:%S` >> /home/user/scripts/logBackup.txt
#END
crontab -e 26 * * * * /home/user/scripts/backup.sh
答案 0 :(得分:0)
好的,我做的是:
我添加了
>> /home/user/cron.txt 2>&1
这是我的cronjob宣言,我现在已经有了玉米棒的输出。
有了这个,很容易发现oracle的某些环境变量丢失了......
感谢您提供的任何帮助!