yum-cronを使用してシステムを自動的に更新するようにyumを設定したいと思います。ただし、インターネット接続が非常に制限されているため、アップデートプロセスは利用可能なインターネットの一部を占有し、ネットワーク上の誰もがコンピュータを使用するのに苦労することを望まない。
アップデートを自動的に確認してダウンロードしますが、午前2時から午前6時までにyumを設定するにはどうすればよいですか?
答え1
答え2
ここに短い答えがあります。 rootユーザーとして次のコマンドを実行します。
cat <<HEREDOC > /etc/crontab.d/update-yum.crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
0 2 * * * yum -y update
HEREDOC
詳細な説明は次のとおりです。
Unixシステムでスケジュールされたタスクを実行するために、いくつかのユーティリティを使用できます。
このcron
ユーティリティは、スケジュールされたタスクを実行するための事実上の標準のUnixユーティリティです。欠点の1つcron
は、何らかの理由でシステムがダウンしてもジョブが実行されない可能性があることです。
このanacron
ユーティリティは、ホストシステムが継続的に実行できないユースケース用に作成されました。
ナクロン伝統的に、cronによって実行されているがシステムが継続的に実行されていると仮定しない周期的なコマンドスケジューリングを実行するコンピュータプログラム。
このfcron
ユーティリティは、このような状況を処理するように設計された最新バージョンです。
フルロン定期的にコマンドスケジューリングを実行するコンピュータプログラム。 [fcron] は、システムが継続的に実行されているとは想定せず、常にまたは定期的に実行されていないシステムで実行できます。その目的は、Vixie-cronとAnacronを元のCronデーモンから欠落していた多くの機能を提供する統合プログラムに置き換えることです。
このhcron
ユーティリティは機能がより豊富な代替手段です。
ヘクロン本当に便利で実用的な方法で[新しいものを入手]。たとえば、
- イベントは単一のファイルにすべて保存されず、それぞれ独自のファイルに個別に保存されます。
- イベントは、単一ファイルのテーブルではなくファイルシステムで階層的に構成されます。
- イベントの名前が指定され参照可能
- イベントは、1行の順序ではなく、複数のキー=値設定で定義されます。
- hcron はシステム指向ではなくネットワーク指向です。
- 設定を減らして再利用できるテンプレートイベントのサポート
- イベントを生成できない場合のフェイルオーバーイベントのサポート
- 変数の設定と使用のサポート
他のバリエーションの追加機能が必要ない場合、これを使用する最も簡単な方法は、実行するコマンドと指定するパターンを含む特定のジョブcron
に対してcron
いわゆるcronジョブを作成することです。いつ実行するか。時間モードの構文は次のとおりです。
# ┌───────────── minute (0 - 59)
# │ ┌───────────── hour (0 - 23)
# │ │ ┌───────────── day of month (1 - 31)
# │ │ │ ┌───────────── month (1 - 12)
# │ │ │ │ ┌───────────── day of week (0 - 6) (Sunday to Saturday;
# │ │ │ │ │ 7 is also Sunday on some systems)
# │ │ │ │ │
# │ │ │ │ │
# * * * * * command to execute
cronデーモンは1分ごとに実行され、すべてのアクティブなcronジョブを調べて、現在の時刻と一致するパターンがあることを確認します。たとえば、午前 2 時にジョブを実行する場合、分の値は 0、時間の値は 2、日、月、曜日の値に制限はありません。これは次のように表されます。
0 2 * * * command
構文に慣れるのにはしばらく時間がかかる可能性があるため、クローンジョブ式を生成するのに役立つWebベースのユーティリティは次のとおりです。
以下は、役に立つかもしれない別のWebベースのツールです。
これは正反対です。時間パターンを入力して英語で表示できます。
クローンジョブを配布する方法はいくつかあります。/etc/
システムcronを操作するための1つのデフォルトのcrontabファイルとその中にいくつかのサブディレクトリがあります。
/etc/crontab
/etc/cron.d
/etc/cron.daily
/etc/cron.deny
/etc/cron.hourly
/etc/cron.monthly
/etc/cron.weekly
これについて詳しくは、CentOS展開ガイドの関連セクションを参照してください。
最も簡単な方法は、おそらくcrontabファイルを/etc/crontab.d
ディレクトリに追加することです。
cat <<HEREDOC > /etc/crontab.d/update-yum.crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
0 2 * * * yum -y update
HEREDOC
ジョブが失敗したときに通知を受け取るように、MAILTO変数をデフォルトの管理Eメールアドレスに設定できます。
また、cronjobはユーザーとは異なる環境で実行され、これは一般的な問題であり、欲求不満の原因であることに注意する必要があります。たとえば、次の投稿をご覧ください。