以下为备份脚本:
意思是将/home/tomc/backup/ommb/下的.dmp文件和.log文件以.tar.gz打包备份到/home/tomc/backup/ommb/下。
以下为手动执行和使用crontab -e添加到系统自动执行的结果:
最上面一条20140721.tar.gz是我执行./backup.sh备份脚本后产生的打包备份文件;
下面7月23日生成的文件时系统自动执行生成的文件,.dmp和.log没有被打包进去,而又生成了一个20140723.tar.gz的包,解开后里面是空的。
我个人的分析:1、权限都是root权限,不存在权限过低的问题,使用777的权限也不行;
2、脚本应该没有问题,手动执行都可以正确的打包备份的;
3、感觉是问题出在crontab 这个系统定时执行的上面了,具体有不知道该怎么排查;
麻烦各位大神了!!!
以下是crontab的内容:
意思是每天凌晨2点执行/home/tomc/backup/ommb/下的backup.sh
确认了吗?脚本打包之前可以查看一下,ls *.dmp *.log就够了
再说如果文件存在的话,打完包也会被删除的,而从你的贴图看却仍然存在
crontab的容已近补充了,麻烦你看看,有没有问题;
你说的sh脚本中口令全路径具体指解释下呗。
脚本里
最上面加一句
#!/bin/sh
再试试
已贴出
追答lizhihong404言之有理.
.dmp, .log, .tag.gz三个文件的创建时间是相同的. 这很可能会导致问题.
也许tar命令运行的时候还没有dmp和log文件. 这也解释了为什么2个文件没有被删掉.
你改一下backup.sh 最后一行加上&>/home/tomc/backup/ommb/cron-tar.log
事后检查log应该能看出问题.