$(hostname)がcronjobでは機能しません。

$(hostname)がcronjobでは機能しません。

バックアップ名を指定するには、次の行を含む単純なバックアップスクリプトがあります。

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

rootユーザーとして実行すると正常に動作します。残念ながら、cronjobで実行するように設定すると、$(hostname)部分は常に空になり、ホスト名を取得できません。動作しない理由とcronジョブからホスト名を取得する方法は?

Ubuntu 18.04を実行しています。

答え1

Crontabには独自のパス変数のリストなどがあります。これを使用するか、シェルなどのカンマの代わりにcrontabでbashスクリプトを実行できます。

クローンタブの使い方は次のとおりです。

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

答え2

hostnamePATHスクリプトにないようです。/bin/hostnameあなたがしたように、そこに入れるか含めるようにdate設定します(スクリプトまたはcrontab内で)。PATH/bin

関連情報