在一台特定的机器上,我经常需要时不时地运行sudo
命令。sudo
在大多数情况下,我可以输入密码。
但是,我想在不输入密码的情况下运行三个sudo
命令:
sudo reboot
sudo shutdown -r now
sudo shutdown -P now
如何从密码保护中排除这些命令sudo
?
我尝试设置一个 root cron 作业来以 root 身份运行 Bash 脚本,在 7,37 分钟,每小时,每月的每一天,每月运行。该脚本位于/usr/bin
并命名为tunlrupdate.sh
. 它更新 Tunlr 的 DNS。
$ ls -l /usr/bin/tunlrupdate.sh
-rwxr-xr-x 1 root root 2133 Sep 24 15:42 /usr/bin/tunlrupdate.sh
Run Code Online (Sandbox Code Playgroud)
此 Bash 脚本可在此处获得。
调用时,脚本会在位于的日志中写入正在发生的事情 /var/log/tunlr.log
为了添加这个 root cron 作业,我使用了 root 的 crontab 的标准
sudo crontab -e
Run Code Online (Sandbox Code Playgroud)
并在最后插入这两行。我希望 cron 以 root 身份运行脚本。
# check for updated Tunlr DNS every 30 minutes at the hour + 7 mn and hour + 37 mn
07,37 * * * * root …
Run Code Online (Sandbox Code Playgroud) 我想从两个不同的命令合并(联合)输出,并将它们通过管道传输到单个命令。
一个愚蠢的例子:
我想合并输出的命令:
cat wordlist.txt
ls ~/folder/*
Run Code Online (Sandbox Code Playgroud)
进入:
wc -l
Run Code Online (Sandbox Code Playgroud)
在这个例子中,如果 wordlist.txt 包含 5 行和 3 个文件,我想wc -l
返回 8。
$cat wordlist.txt *[magical union thing]* ls ~/folder/* | wc -l
8
Run Code Online (Sandbox Code Playgroud)
我怎么做?