crontab使用变量
之前尝试在crontab使用date用来给当天的日志加上日期后缀时,用的是 `` 符号,发现用不了,以为crontab是不支持变量的,今天再查了一下 Is it possible to use variables in crontab -e? ,亲身测试了一下,发现是可以的,好开心,不用到被调用的sh脚本里面定个日期变量写日志了。
如果你翻不了墙,我把上面那个stack exchange里大家的回答贴出来给你看看,解决方法有2个:
1. 可以直接crontab -e后定义一个变量,但是这个变量不要再引用别的变量了,如下
FOO=qwerty #这样是不行的FOO=$BAR/qux
* * * * * echo $FOO > ~/out
2. 用$(), 但是记住百分号前面要加个\,如果不加会被当成新的一行而不是命令。
15 0 1 * * nf=MailFeed-$( date +\%Y\%m ).mbx && cd Logs && mv MailFeed.mbx $nf && bzip2 -9 $nf