はじめに
夕方、ラップトップに座って、仮想マシンで別のLinuxディストリビューションを勉強しながら
Atdおよびcronデーモン
少しグーグルで文学を読んで、私は2つの悪魔について学びました: atdとcron 。 その限界と彼と一緒に仕事をする不便さを考慮して、私は最初のものを拒否しました。 しかし、2番目についてはさらに詳しく説明したいと思います。
お使いのコンピューターが突然、理由もなく、ディスクの検索、メールの送信などを開始した場合、これはおそらくcronデーモンの動作です...
Michael Kofler「 Linux。 インストール、構成、管理。」-SPb。:Peter、2014
それで、これはまさにまさにcronが行うことです 。 デーモンは1分間隔で起動され、 crontabファイルをチェックして、それらに指定されたプログラムを実行します。 最初は、システムのメンテナンス中に使用されますが、ユーザーはそれを使用して問題を解決できます。
通常のディストリビューションがインストールされている場合、心配する必要はありません。cronは自動的にインストールされます。 最小であれば、動揺していません-ターミナルに行きます。
yum install vixie-cron //(RHEL - Red Hat Enterprise Linux)
または
apt-get install cron //(Deabian- )
デーモンへのユーザーアクセスは、 / var / spool / cron / tabs / userディレクトリで構成されます 。 それらの権限は、 / cron / allowおよび/ denyファイルで設定されます。 ユーザーを/ allowに追加することにより、ユーザーにcronコマンドの実行を許可します。ユーザーを/ denyに追加すると、ユーザーはデーモンの使用を禁止されます。
Cron自体は/ etc / crontabディレクトリで設定されます。 ファイル/ crontabまたは/ etc / cron内のファイル。 dには、実行するコマンドのリストが含まれます。 構文は次のとおりです。
in /etc/crontab [][][][][][][]
たとえば、スーパーバイザーに代わって15分ごとにya.ruにpingを実行する必要がある場合、以下を追加する必要があります。
*/15 **** root ping ya.ru
記号*が最初の5つのフィールドのいずれかにある場合、このフィールドは無視されます。 前のコマンドでは、月も週も示されていないため、15分ごとに実行されます。 構成を変更するには、ターミナルでviコマンドを使用するか、 / etc / crontabファイルの内容を手動で変更します。
.hourly、.daily、.weekly、.monthlyと連携
デフォルトでは、ほとんどすべてのディストリビューションで、 / etc / crontabファイルには、スクリプトの実行に必要ないくつかのエントリのみが含まれています。
/etc/cron.hourly/*-1時間ごとに実行されるスクリプト
/etc/cron.daily/*-毎日実行されるスクリプト
/etc/cron.weekly/*-毎週実行されるスクリプト
/etc/cron.monthly/*-毎月実行されるスクリプト
デーモンがコマンドを実行するには、コマンドを実行するスクリプトをいずれかのディレクトリに追加します。 必ず実行ビット(chmod a + xファイル)を設定してください。 そうしないと、スクリプトにアクセスできず、実行されません!
スクリプトが実行されるかどうかを確認するには、次のコマンドを実行します
run-parts --test /etc/cron.daily
スクリプトが別のディレクトリにある場合は、 毎日 、 毎月などに変更します 。
また、スクリプト名にドットを含めることはできません。ドット以外の文字は使用できません。 run-partsコマンドはドット付きスクリプトを単に無視しますが、その理由はわかりません。
アナクロン
cronデーモンのほか。 ほとんどのディストリビューションには、Anacronタスクスケジューラがインストールされています。 そのタスクは、スクリプト/etc/cron.nの 1回(オンデマンド)実行です。ここで、nは、 daily 、 weekly 、 monthlyの 3つの値を取ることができます。 実行後、終了し、 cronのようにシステムにハングアップしません。 また、Anacronは/etc/cron.hourlyディレクトリからスクリプトを実行しません。これはcronの特権です。 Anacronは/ etc / anacrontabディレクトリでグローバルに構成されますが、通常はデフォルト設定で十分です。
PS
ssh adminの毎日のタスクの作業を簡素化するには、 cronを使用してAnacronを無効にします。これは、タスクを1回実行し、 cronはAnacronが実行するタスクを無視するためです。 その結果、あなたが持っているすべてのタスクは一度だけ実行されます。 ほとんどのディストリビューションでは、デーモンでの作業はほとんど変わりませんが、問題が発生した場合は、Linuxのwikiを使用してください。