[英]Linux bash script stuck in sleep state
我使用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的固件,但不知道这是否会使长时间的进程进入睡眠状态。 如果我用仅需几秒钟即可完成的操作替换了backup命令,则一切正常。 例如:如果我将--batchmode --verbose
替换为--selection
然后将其他所有内容保留--batchmode --verbose
。
NAS是运行DSM 6.0.2-8451 Update 4
固件的Synology DS-216 +
不一定是答案(尽管极有可能是答案),我建议您将“ WORKING_FILE”的位置更改为/ tmp -每次启动时都会清除此文件夹(请检查Linux发行版确保这是您的默认设置),即使您的脚本因某种原因无法执行此操作,它也会删除控制文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.