Bet*_*eto 0 linux bash cron ubuntu-server
我正在尝试将脚本作为cron中的一项工作.
剧本:
echo "Defining function"
function talkMe() {
echo "me"
}
echo "Start talking"
talkMe
Run Code Online (Sandbox Code Playgroud)
cron工作:
0 18 * * * /scripts/talk.sh > /tmp/talk.log
Run Code Online (Sandbox Code Playgroud)
cron errror:
Aug 23 11:24:01 database CRON[8497]: (root) CMD (/scripts/talk.sh > /tmp/talk.log)
Aug 23 11:24:01 database CRON[8494]: (CRON) error (grandchild #8497 failed with exit status 2)
Run Code Online (Sandbox Code Playgroud)
test.log:
Defining function
Run Code Online (Sandbox Code Playgroud)
在我尝试更改ROOT密码之前,脚本运行正常:
sudo su
passwd <my new pass for root>
Run Code Online (Sandbox Code Playgroud)
这个命令似乎没有效果,ROOT继续使用旧密码......但是在这个命令之后出现了CRON问题!
如何解决CRON问题,正确运行脚本?
注意:手动运行脚本,一切顺利!
你的剧本没有她的行.将此行插入脚本的顶部:
#!/bin/bash
Run Code Online (Sandbox Code Playgroud)
脚本可能由另一个使用不同语法定义函数的shell运行.