在Linux系統中,執行定時任務時,默認加載的是用戶環境變量 ~/.bashrc
,不會加載系統變量,而要使用系統變量,可以用如下方式:
# Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed */1 * * * * root /root/xx.sh # 使用用戶環境變量 */1 * * * * root source ~/.bashrc && /root/xx.sh # 使用用戶環境變量 */1 * * * * root source /etc/profile && /root/xx.sh # 使用系統環境變量
在以上的配置中,定時任務只是默認加載當前用戶的環境變量,即 所有的定時任務,默認使用 source ~/.bashrc
來加載執行后續命令的。
如果要加載 系統環境變量,則需指定加載系統變量文件,即 source /etc/profile
這段命令。 &&
符號意思就是執行多個命令,這里是先加載系統環境變量,然后再執行 /root/xx.sh
的命令。