cron执行定时任务环境变量问题

1.问题

直接crontab -e
写了一行命令:* * * * * echo 'good' &>> ~/test.log
然后发现 单词good并没有每分钟写入一次到test.log

一. bash中执行了命令:
echo 'good' &>> ~/test.log

cat test.log
命令行输出:
good

二. sh中执行命令:
echo 'good' &>> ~/test.log

命令行输出:
good
[1] + Done echo "good"
cat test.log
命令行输出:为空。

说明是cron默认的shell是sh, sh和bash中环境变量不同导致的。

2. 解决方式

直接crontab -e
写入:SHELL=/bin/bash 即可。
参照:
How to use cron in Linux

posted @ 2020-12-17 22:30  成民  阅读(367)  评论(0编辑  收藏  举报