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

 

posted @ 2021-05-06 17:55  水天需  阅读(1224)  评论(0编辑  收藏  举报