我正在 crontab 中执行一个写入日志的脚本,当我以 root 身份运行它时,日志以西班牙语写入。
但是当我在 crontab 中运行它时,输出是英文的。
有没有办法以与我以 root 身份运行 crontab 时相同的配置来运行它?
答案1
您有两种可能的解决方案;您可以编写一个包装器脚本来设置适当的环境变量,然后调用您的原始 cron 脚本。如果您希望 LANG(我期望您需要设置)对于所有脚本都相同,您只需在 crontab 的顶部定义它即可。答案中有解释杰拉德·施奈德链接为什么我的 crontab 不工作?我该如何排除故障?但对于 LC_* 或 LANG 没有明确说明。操作方法如下:
LANG=es_ES
*/15 */2 3 * * /opt/jobs/repeat-this.sh
根据脚本的功能,您可能需要设置特定的 LC_* 值;或者简单地设置 LC_ALL=es_ES。
LC_CTYPE、LC_NUMERIC、LC_TIME、LC_COLLATE、LC_MONETARY、LC_MESSAGES、LC_PAPER、LC_NAME、LC_ADDRESS、LC_TELEPHONE、LC_MEASUREMENT、LC_IDENTIFICATION、LC_ALL