linux - shell脚本不运行其中的其他脚本

标签 linux shell ubuntu cron

#!/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;
cd /var/www/symmetric-ds-3.1.6/bin;
sleep 30;

(sudo ./sym --port 8082 --server);

fi

我尝试使用 cron 每 10 分钟运行一次上述脚本。在 root 下手动运行它时,脚本运行良好,但是当我尝试在 cron 中运行脚本时,它正在执行 (ps -ef|grep sym |grep -v grep |awk '{ print $2 }'|sudo xargs kill - 9;) 并且它没有执行脚本 (sudo ./sym --port 8082 --server) 并且没有给出任何错误。任何人都可以建议我任何想法吗?

最佳答案

请检查 crontab 是否也在 Bash 中运行。如果不是,那么您可能必须更换 shell。

此外,当您手动运行脚本时,./sym 是与您的 shell 相关的位置。它可能不是按照 cron。请使用完整路径执行./sym。

关于linux - shell脚本不运行其中的其他脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15061012/

相关文章:

linux - 在我的服务器上更改日期时间并在测试后将其还原

iphone - PBXCP : No such file or directory, 在最近的 xcode 中

android - 如何在ubuntu 12.04中设置Android SDK、NDK和JDK路径

ubuntu - 无法在 Ubuntu Linux 16.04 中安装 kurento-media-server-6.0

linux - 如何使用 Linux 工具创建压缩的 dmg 文件?

linux - 如何通过 bash 脚本中的管道从命令中提取 2 条信息输出?

python - 使 Python 默认为安装在共享主机上的另一个版本

shell 脚本参数非位置

linux - 在 Unix while-do 循环中,比较条件失败

php - Ubuntu 11.04 PHP MongoDB 安装 - php.ini 中的 mongo.so 但没有效果