Linux 定时任务(crontab)读取系统变量
文章目录
cronjob load system environment
调用时使用 BASH_ENV 变量
- 调用脚本时使用 BASH_ENV 从文件中读取变量
|
|
-
导入多个变量文件时,可将导入变量命令写入脚本中,使用 BASH_ENV 调用脚本
- 写入导入变量脚本
1 2 3 4 5 6 7
$ cat /home/baeldung/preload.sh #!/bin/bash . /etc/profile . ~/.bash_profile . ~/.bashrc export LEARNING_FROM=baeldung
- 配置环境变量
1 2
$ crontab -l * * * * * BASH_ENV=/home/baeldung/preload.sh /home/baeldung/print_envs.sh
Wrapping the Job With Bash
- 如果一个作业不是 bash 脚本,无法使用 BASH_ENV 来加载环境变量,可以使用 bash 包装它
|
|
-
从多个文件中读取变量
- 将读取变量文件和执行 job 封装在一个 shell 脚本中
1 2 3 4 5 6 7 8 9 10
$ cat /home/baeldung/wrap_printenv.sh #!/bin/bash . /etc/profile . ~/.bash_profile . ~/.bashrc export LEARNING_FROM=baeldung #now, we run the original job printenv > /tmp/print_envs_result
- 配置 cronjob
1 2
$ crontab -l * * * * * /home/baeldung/wrap_printenv.sh
在 crontab 设置中配置单个变量
- 在 crontab 中使用 key=valule 的格式配置单个变量
|
|
参考
文章作者 Xiang
上次更新 2022-01-28