繁体   English   中英

Linux bash脚本处于睡眠状态

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM