以下 bash 脚本每小时执行一次文件夹的 rsync:
#!/bin/bash
rsync -r -z -c /home/pi/queue [email protected] /cdn-cgi/l/email-protection:/home/foobar
rm -rf rm /home/pi/queue/*
echo "Done"
但我发现我的 Pi 与互联网断开连接,因此 rsync 失败。因此它执行了以下命令,删除了该文件夹。
如何确定 rsync 命令是否成功,如果成功,则可能会删除该文件夹。
通常,任何 Unix 命令如果运行成功则返回 0,否则返回非 0。
查看 man rsync 以获得可能与您的情况相关的退出代码,但我会这样做:
#!/bin/bash
rsync -r -z -c /home/pi/queue [email protected] /cdn-cgi/l/email-protection:/home/foobar && rm -rf rm /home/pi/queue/* && echo "Done"
仅当一切顺利时 rm 和 echo 才会完成。
其他方法是使用 $?变量始终是上一个命令的返回代码:
#!/bin/bash
rsync -r -z -c /home/pi/queue [email protected] /cdn-cgi/l/email-protection:/home/foobar
if [ "$?" -eq "0" ]
then
rm -rf rm /home/pi/queue/*
echo "Done"
else
echo "Error while running rsync"
fi
see 手动同步, 部分退出价值
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)