根据https://unix.stackexchange.com/a/478636/674,cron修改执行环境以执行作业。
sudo service tor reload两次时,它总是显示两个不同的IP地址:$ sudo服务torsocks;torsocks curl ipinfo.io/ IP;sudo service tor重载;torsocks curl ipinfo.io/ip 12.345.678.901 987.654.321.00 sudo service tor reload最有可能更改寄存器退出节点,从而更改公共IP地址是正确的吗?/etc/cron.d/myjob中创建一个cron作业时,*** tim (sudo service tor reload;torsocks curl ipinfo.io/ IP;sudo service tor重载;torsocks ipinfo.io/ IP ) > /tmp/cron.log每次我检查/tmp/cron.log时,它总是显示两个相同的IP地址,尽管IP地址从一个作业更改到另一个作业(当下一个计划作业覆盖日志时,它将显示两个相同的IP地址,在覆盖之前与两个IP地址不相同)。同样,当我在两个重载之间插入sleep 20时:*** tim (sudo service tor reload;torsocks ipinfo.io/ IP;sleep 20;sudo service tor reload;torsocks curl ipinfo.io/ip) > /tmp/cron.log作为cron作业,为什么sudo service tor reload不能更改IP地址?我怎么才能让它起作用?谢谢。
发布于 2018-11-01 11:42:40
造成问题的原因是:在作业行中,命令使用sudo,而用户字段是非根用户tim。我不提供tim的S密码,由sudo要求。
我仍然试图理解编写cron作业的用户和命令字段的最佳实践。中的cron任务/etc/cron.d/不应该包含的文件sudo?
https://unix.stackexchange.com/questions/478897
复制相似问题