#!/bin/bash
value=$(<man.txt)
echo "$value"
if [ "$value" == "true" ]; then
echo "startedif_manthan"
ps -ef|grep sym |awk '{ print $2 }'|sudo xargs kill -9;
sleep 30;
sudo sh /var/www/symmetric-ds-3.1.6/bin/sym --port 8082 --server;
fi
我需要在 cron 中运行上述脚本。它可以在 cron 中执行而无需密码吗?
有什么建议么?
答案1
如果您的脚本在没有提示的情况下运行,则密码完全取决于您的/etc/sudoers
文件以及以哪个用户身份运行此 cron 脚本。
如果 cron 脚本以 方式运行myuser
,则可以在/etc/sudoers
myuser ALL=NOPASSWD: /var/www/symmetric-ds-3.1.6/bin/sym
我不确定sh
首先运行脚本时 sudo 如何工作,因此您可能需要制作/var/www/symmetric-ds-3.1.6/bin/sym
可执行文件并替换它:
sudo sh /var/www/symmetric-ds-3.1.6/bin/sym --port 8082 --server;
有了这个
sudo /var/www/symmetric-ds-3.1.6/bin/sym --port 8082 --server;