$(主机名) 在 cronjob 中不起作用

$(主机名) 在 cronjob 中不起作用

我有一个简单的备份脚本,其中包含以下行来为备份命名:

backup=$(/bin/date +'%Y-%m-%d_%H:%M_%S')_$(hostname).gz

当我在 root 用户下运行它时,效果很好。不幸的是,当我将其设置为作为 cronjob 运行时,$(hostname) 部分始终为空,并且我无法获取主机名。为什么它不起作用,如何在 cron 作业中获取主机名?

我运行的是 ubuntu 18.04

答案1

Crontab 有自己的路径变量列表等...您可以使用它们或从 crontab 运行 bash 脚本而不是类似 shell 的逗号。

这是 crontab 的使用方法

VARIABLE=value
PATH=/bin:/path/to/doanything
0 0 * * * doanything.sh $VARIABLE

答案2

hostname似乎不在PATH你的脚本中。要么放在/bin/hostname那里,就像您对 所做的那样date,要么设置PATH为包含/bin(在脚本内或在 crontab 中)。

相关内容