我使用SpiderOak客户端将我的NAS服务器数据备份到云端。几个月来,这一直运作良好。然而,今天,在运行了一段时间后,cronjob进程陷入了睡眠状态。我需要帮助搞清楚为什么以及如何解决
我最近丢失了一直运行良好的cronjob脚本,所以我不得不写一个新的bash脚本。也许我犯了一个错误。这是:
#!/bin/sh
WORKING_FILE=/volume1/Volume_1/spideroak.lock
RESULT_FILE=/volume1/Volume_1/spideroak.log
# Cancel if there is an ongoing backup
if [ -f "$WORKING_FILE" ]
then
echo "Error: $WORKING_FILE already exists; backup is already running."
exit 1;
fi
# Run backup and save results to file with the name that gets checked above
/opt/SpiderOakONE/usr/bin/SpiderOakONE --batchmode --verbose --redirect="$WORKING_FILE"
# Rename log once backup is complete
mv "$WORKING_FILE" "$RESULT_FILE"
# Set log file permissions and exit
chmod 644 "$RESULT_FILE"
echo "Backup complete. Result saved to $RESULT_FILE"
我最近也更新了NAS的固件,但不知道是否可以通过将长时间的进程置于睡眠状态来发挥作用。如果我用只需几秒钟的时间来替换备份命令,一切正常。例如:如果我将--batchmode --verbose
替换为--selection
并将其他所有内容保留原样。
NAS是Synology DS-216 +运行DSM 6.0.2-8451 Update 4
固件
答案 0 :(得分:0)
不一定是答案(尽管它可能是答案的可能性很小),我建议你将“WORKING_FILE”的位置更改为/ tmp - 每次启动都会清除此文件夹(检查一下) Linux发行版确保这是您的默认设置),即使您的脚本以某种方式无法执行此操作,它也会删除控制文件。