为什么我的脚本在通过cron运行时死亡?

大家好! 也许你可以帮助我:我已经在Cron设置每天的备份轮换,每天凌晨4点运行。 脚本并不复杂(见下文),当我自己执行它时,它的工作没有问题。 但是,当我在Cron上安排它时,脚本运行大约半个小时,然后停止(没有邮件,没有警告,它只是停止复制文件)。

任何想法为什么这可能会发生? 备份文件夹的大小约为38GB,脚本运行需要将近一个小时。 我猜测某种运行时间的限制,但只是一个想法。

最后但并非最不重要的,这是剧本。 它保留一个“档案”文件夹与每日7备份:

#!/bin/bash NEW=`date +%Y%m%d` NUMBER=7 function erase_old() { while (( $# > $NUMBER )); do rm -rf "$1" shift done } mkdir /backup/archive/$NEW cp -vrp /backup/current/* /backup/archive/$NEW erase_old /backup/archive/* 

不知道为什么它会死亡,但我可以build议一个替代方法来滚动备份?

尝试使用而不是今天的date ,今天的文件名。 那么你永远不必删除旧的,他们只会被覆盖。 (或者你可以删除<today> ,然后写新的。)

要获得今天的价值,请执行以下操作:

 $FNAME=`date +%A` 

你正在testingvariables$CANT ,这个variables在任何地方都没有设置。

我不知道是否ulimit -t正在你的方式。

这可能是一个许可问题; 是同一个用户下的crontab条目,可以从命令行成功运行脚本?