MAILTO=""
*/10 * * * * /bin/bash /var/www/sym_monitor/sym_start.sh > /var/www/migrate/root_start.txt 2>&1
*/10 * * * * /bin/bash /var/www/sym_monitor/stop.sh > /var/www/migrate/root_stop.txt 2>&1
这两个都是 cron 内的作业,以 10 分钟间隔运行 @17:30 秒一个开始和 1735 第一个开始避免第一个作业在实际开始之前秒杀。
第一个脚本包含以下代码
#!/bin/bash
value=$(</var/www/sym_monitor/man.txt)
if [ "$value" == "true" ]; then
ps -ef|grep sym |grep -v grep |awk '{ print $2 }'|sudo xargs kill -9;
fi
第二个脚本由以下代码组成。
#!/bin/bash
value=$(</var/www/sym_monitor/man.txt)
if [ "$value" == "true" ]; then
sleep 30;
cd /var/www/symmetric-ds-3.1.6/bin;
(sudo ./sym --port 8082 --server);
fi
问题是当我运行这两个脚本时,不幸的是 sym_start.sh 没有执行。但是当我删除 stop.sh 并手动运行停止脚本时,cron 中唯一的脚本正在正确执行。为什么会这样?任何想法?