定时任务相关问题
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
就是。