【发布时间】:2022-06-16 18:03:59
【问题描述】:
文件 modBackup.sh 中的脚本在由 cron 启动时没有完全运行,如果我手动运行,结果是一个损坏的 tar.gz 文件,它的大小只有这个文件的一半。无论如何,它的大小比手动启动的要小很多倍,但仍然会创建一些无法正常打开的内容,存档损坏
文件modBackup.sh:
#!/bin/sh
find /home/share/ -mmin -720 -type f -exec tar -rvf /mnt/archives/`date +%F`-modified.tar.gz "{}" +
Т他的自动行为似乎被打断并且没有结束。 当我手动运行它时,脚本会创建一个真正的存档为 [当前日期]-modified.tar.gz
这里是 crontab -e:
00 18 * * 1-5 /home/myScripts/modBackup.sh
编辑:
除了 crond 已经启动,日志中没有任何信息
既不在邮件日志中,也不在 cron 中,也不在消息中
(我使用非常旧的 CentOS :( 但我认为这不是错误的原因)。
仅用于测试:我在脚本中添加了文件名的 %H%M 并执行了以下操作:
我手动运行它:sh /home/myScripts/modBackup.sh
并设置crontab -e 以在两分钟后运行相同的命令
几分钟后,出现了两个同时增长的文件,然后是 cronjob 创建的一个 停止生长 (two files)。 在这两种情况下,我都使用相同的 GUI 工具(存档管理器)打开。 Т通过手动启动脚本创建的文件打开(manually started),但另一个来自cronjob的文件无法打开,即使我更改了扩展名,错误是'unexpected EOF in archive'(auto started)
【问题讨论】:
-
syslog显示了关于cron工作的什么信息?请edit您的问题以添加所需信息,请勿为此目的使用 cmets。 -
您可能在控制台上有you have new mail 消息或在journalctl 上有错误消息。检查一下,它可能包含 cronjob 上的错误。
-
手动执行时是否调用了这个确切的脚本?这是一个
.tar文件,被误命名为.tar.gz,因此它可能比等效的.tar.gz文件大得多,并且某些工具可能由于扩展名错误而无法处理它。
标签: linux shell cron centos script