我有一个 shell 脚本,曾经在两台服务器上运行良好,在一台服务器上它似乎仍然可以工作,但在另一台服务器上它开始每天失败几次(它每小时运行一次,每天失败 2-8 次,相当不规则)。
日志显示它失败了,因为它试图移动一个不存在的文件,在进行更多调试时,我认为在移动文件之前,我可以通过检查文件是否存在来稳定脚本,所以现在它包含:
[ -f .sha1sums.txt ] || exit 0;
mv .sha1sums.txt sha1sums.txt
但每天仍然会失败几次,记录:
mv: cannot stat '.sha1sums.txt': No such file or directory
(我检查过剧本里有没有奇怪的人物,没有)
我对这种情况如何发生的最好猜测是目前与其他东西的竞争,删除该文件,但我看不到那会是什么,所以我正在寻找其他解释(或发现拼写错误),这就是希望你能进来。
.sha1sums.txt
(PS自从 6 天前我添加了调试输出以显示这一点以来,生成 , 的命令就没有失败)