
centos7でapacheはApache/2.4.6を使っています。
Let’s Encrypt の自動更新をcronに登録したく、ネットで調べてみたのですが、下記の2つのどちらが正しいのかわかりません。
0 3 * * * root /usr/bin/certbot renew
0 3 * * * certbot renew && systemctl restart httpd
上の記述だとhttpdは再起動されず、証明書の更新はされないのでしょうか?
それともどちらも正しいのでしょうか。
No.2ベストアンサー
- 回答日時:
ご質問に提示された2つの例は、cron設定値の格納場所が異なるのだと思います。
webで多くの方がcronの設定方法を説明されていますが、結構この2つの方法の内どちらで説明するか明示しなかったり、混同して説明されていることもあるようです。a)0 3 * * * root /usr/bin/certbot renew
/etc/crontabファイルに設定値を格納する方法です。全てのアカウントが同じファイルを共有しますのでアカウント名、今の場合"root"の記入が必須です。
b)0 3 * * * certbot renew && systemctl restart httpd
こちらは/var/spool/cron/crontabs/rootファイルに設定値を格納する方法だと思います(昔ながらの方法です。)。ここでは"rootファイル"に設定値を格納することで、当然root権限で処理が実行されるため、設定内容に"root"は不要です。
c)cronでは何処まで$path変数が設定されているのか明確ではないため(探せば何処かに出てるんでしょうが...)、コマンド指定は常にフルパスで指定するべきだと思います。それ故、私なら"/usr/bin/certbot"であり、"/usr/bin/systemctl"と指定します。
d)"&&"の意味が私には判りかねますが、ここで重要なのはcronに於いて、あるコマンドを実行する際「そのコマンドはどのシェル環境(bsh/csh/zsh...)で実行されるのか。」ということだと思います。つまり、実際のシェル環境に"&&"がサポートされているかどうか判らないかも、と思います。
私自身もその点ちゃんと把握してません。
そこでこの例のように順次複数のコマンドを実行したい場合...
#!/bin/csh -f
# FileName: TestScript
/usr/bin/certbot renew
/usr/bin/systemctl restart httpd
のようにシェル環境を"明示した"スクリプトを作成しcrontabsには...
0 3 * * * /home/[AccountName]/hogehoge/TestScript
などと設定します。
尚蛇足ですが、現在のLinuxでは恐らく"/etc/crontabファイル"に設定値を格納する方法が新しく、お奨めなのだと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DNSサーバーの構築「no servers...
-
Linuxサーバーは定期リブートを...
-
インデザイン(InDesing)の開き...
-
起動時のターミナルの状態を戻...
-
WMIを有効にする方法が分かりま...
-
MacOSのLaunchAgentsってなんで...
-
リモートのサーバでXwindowを起...
-
apacheが起動しない
-
/etc/rc.d/rc.localの書き方
-
Linux(redhat系)の実行ユーザ...
-
vsftpdが停止しない
-
デスクトップの"ワークスペース"
-
chkconfig がうまくいかない
-
FMVマイページ、FMVサーチが勝...
-
ネットにつながっていない社内P...
-
pc初心者です。 UEFIでの設定で...
-
iPhone 車に乗ると勝手に曲再生...
-
virtual boxで、黒い画面のまま...
-
Windowsのショートカットキーを...
-
最近、ChromeにてYouTubeを再生...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DNSサーバーの構築「no servers...
-
Linuxサーバーは定期リブートを...
-
インデザイン(InDesing)の開き...
-
wermgr.exeって何ですか?
-
起動時のターミナルの状態を戻...
-
MacOSのLaunchAgentsってなんで...
-
AIXルーティング情報について
-
特定コマンドを同時実行
-
WMIを有効にする方法が分かりま...
-
VNCクライアントから管理者権限...
-
Linux系OSでのOS立ち上げ時の自...
-
Linux(redhat系)の実行ユーザ...
-
Linuxのカーネルパニックについて
-
起動できないのですが。
-
GUIで起動するには。。
-
apacheの設定
-
WindowsからLinuxへの転送
-
openvpnの起動エラーについて
-
rsh コマンドでのパスワード入...
-
起動時のエラーについて。
おすすめ情報