永发信息网

linux中打包备份脚本,手动执行可以正常打包,使用crontab -e 添加到系统定时任务中执行就无法打包

答案:4  悬赏:20  手机版
解决时间 2021-11-07 06:32
  • 提问者网友:雾里闻花香
  • 2021-11-06 14:43
linux中打包备份脚本,手动执行可以正常打包,使用crontab -e 添加到系统定时任务中执行就无法打包
最佳答案
  • 五星知识达人网友:轮獄道
  • 2021-11-06 15:04
打包备份时,dmp和log文件还没生成
你可以将crontab命令执行结果重定向一下就看出来了:
0 2 * * * /home/tomc/backup/ommb/backup.sh > /tmp/backup.log 2>&1追答确认了吗?脚本打包之前可以查看一下,ls *.dmp *.log就够了
再说如果文件存在的话,打完包也会被删除的,而从你的贴图看却仍然存在
全部回答
  • 1楼网友:独钓一江月
  • 2021-11-06 17:16
把你的crontab也贴出来看看?追问已贴出追答lizhihong404言之有理.
.dmp, .log, .tag.gz三个文件的创建时间是相同的. 这很可能会导致问题.
也许tar命令运行的时候还没有dmp和log文件. 这也解释了为什么2个文件没有被删掉.

你改一下backup.sh 最后一行加上&>/home/tomc/backup/ommb/cron-tar.log

事后检查log应该能看出问题.
  • 2楼网友:有你哪都是故乡
  • 2021-11-06 16:59
自动执行之前应该已经手动一遍了,已经将dmp和log remove掉了,然后自动时候找不到这两个文件
  • 3楼网友:人類模型
  • 2021-11-06 15:48
写crontab的 内容是怎么写的?

另外可以试试把crontab和sh脚本里的口令改成为全路径
比如 /bin/bash
/bin/tar追问crontab的容已近补充了,麻烦你看看,有没有问题;
你说的sh脚本中口令全路径具体指解释下呗。追答脚本里
最上面加一句
#!/bin/sh
再试试
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯