我正在使用云桌面并尝试执行./parseScript.sh,其中包含以下命令:
sudo -u identmon /apollo/env/PARISOperationalTools/scripts/get/callRetryOfFailures.rb "$apiname" "$requestinput" –
我想通过使用以下命令每小时调用此脚本:
Step 1. Connect to your cloud desktop using ssh.
Step 2. Run these commands:
% screen
% while true; do ./parseScript.sh; sleep 3600; done
Step 3. Close the window with the running command.
Step 4. (same as Step 1) Connect to your cloud desktop using ssh.
Step 5. Run this command: screen -R. You will get back to the session you left in step 3.
现在的问题是,在我的脚本中我有上面提到的1个命令,必须使用sudo -u identmon执行,因此每次都会要求输入密码,无论如何都要每小时运行一次这个脚本除了手动吗?
答案 0 :(得分:0)
最简单的方法是在您的Sudors文件中添加NOPASSWD
选项,您可以在此处查看https://askubuntu.com/questions/147241/execute-sudo-without-password
username ALL=(ALL) NOPASSWD: ALL
那说小心你要添加一个无密码sudo。
答案 1 :(得分:0)
您可以使用bash的expect feature自动执行脚本。将密码存储在某个变量中。 Expect utility会在运行时自动为脚本提供密码。