定时任务相关问题
Contents
#前言
晚上睡不着,重构了一堆shell,没想到出事了,记录下。
#cron不识别~
~是bash里的,cron不识别,要用$HOME代替。
#相关链接
- 3.5.2 Tilde Expansion
- Can I use a tilde ( ~ ) in a mysqldump cronjob? Linux Cron is not running
- Why is a valid path with a tilde not expanding in this cron job? [duplicate]
#cron在环境变量之前
cron会在命令行加载.bashrc之类的文件之前,所以你写在里面的变量它读不到,解决办法是直接用crontab -e把环境变量写进去:
1 | ONNS_CONFIG_DIR=/Users/onns/Documents/code/config/bash/ |
也是会识别的,亲测有效,其它的方案可能都失效了,建议别用。
下面第一个链接的那种方法. $HOME/.profile,Ubuntu 18.04亲测无效,而且如果你在.profile里写点shell命令,也会失效,我的google-cloud-sdk就是。