[CRON] /bin/sh: source: not found
CentOSからFreeBSDに乗り換えた後、cronジョブが失敗するので調査しているときの覚書。 環境: FreeBSD 14.1 cronのメール内容 /bin/sh: source: not found 普段は使い慣れたbashをインストールして使っているけど、FreeBSDはshがデフォルトなのでsourceコマンドがない。 再現するためshシェルに切り替える。 # sh sourceコマンドではなく「.」を使うらしい。 参考: . (dot) - 現行環境でシェル・ファイルを実行する - IBM Documentation 試しに実行してみる。 # . /root/.bash_profile && /usr/local/bin/bash /home/software/wordpress-backup-google-cloud-storage/main.sh 無事実行できた。 .bash_profileを実行するのはgsutilのための環境変数を設定したいから。 cronを設定変更。 # less /etc/cron.d/wordpress-backup MAILTO="info@hoge.co.jp" 0 3 * * * root . /root/.bash_profile && /usr/local/bin/bash /home/software/wordpress-backup-google-cloud-storage/main.sh 【関連記事】 certbotでSSL化してあるサイトを別サーバーに移行(2024年6月) FreeBSDにgsutil(google-cloud-sdk)をインストール FreeBSD 14 + Nginx + PHP + MariaDB + Postfixの環境を構築(2024年版) WordPressを定期バックアップしてGoogle Cloud Storageに保存