GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS7でcrontabを使用してシステムタスクを自動化する

CentOScrontabの使用方法を紹介します。 CentOScrontabを使用してCentOS7でシステムタスクを自動化する方法。 crontabソフトウェアユーティリティは、Unixライクなオペレーティングシステムの時間ベースのジョブスケジューラです。 cronは、crontab(cronテーブル)ファイルによって駆動されます。これは、特定のスケジュールで定期的に実行するシェルコマンドを指定する構成ファイルです。 crontabファイルは、cronデーモンへのジョブおよびその他の命令のリストが保存されている場所に保存されます。ユーザーは独自のcrontabファイルを持つことができ、多くの場合、システム管理者のみが編集できるシステム全体のcrontabファイル(通常は/etcまたは/etcのサブディレクトリ)があります。

1。 SSH経由で接続し、システムソフトウェアを更新します

まず、SSH経由でLinux VPSに接続し、すべてのシステムソフトウェアを利用可能な最新バージョンに更新します。次のコマンドを使用してこれを行うことができます:

sudo yum update

2。 cronieパッケージがインストールされているかどうかを確認します

システムタスクを自動化するため、またはLinuxでのジョブとしてよく知られているように、Cronと呼ばれるユーティリティを使用できます。 Cronを使用すると、指定した期間内にスクリプトを自動的に実行したり、データベースやその他の重要なファイルのバックアップを作成したり、サーバーで実行されているサービスを監視したりできます。 Cronユーティリティを使用するには、cronieをインストールする必要があります システム上のパッケージ。サーバーにすでにインストールされているはずです。確認するには、次のコマンドを発行します。

sudo rpm -q cronie

3。 cronieパッケージをインストールする

インストールされていない場合は、yumを使用してインストールできます。 Yumは、CentOS7にソフトウェアをインストールして管理するために使用できるパッケージマネージャーです。次のコマンドを実行します。

sudo yum install cronie

4。 crondサービスが実行されているかどうかを確認します

cronジョブはcrondサービスによって選択されます。 crondサービスがCentOSVPSで実行されているかどうかを確認するには、次のコマンドを使用できます。

sudo systemctl status crond.service

5。 cronジョブを構成する

cronジョブを構成するには、/etc/crontabを変更する必要があります ファイル。 rootユーザーのみが変更できることに注意してください。現在の構成を確認するには、次のコマンドを使用できます。

sudo cat /etc/crontab

出力は次のようになります。

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed
37 * * * * root run-parts /etc/cron.hourly
23 5 * * * root run-parts /etc/cron.daily
19 3 * * 0 root run-parts /etc/cron.weekly
23 0 6 * * root run-parts /etc/cron.monthly

ご覧のとおり、crontabファイルには、独自のジョブを定義する方法についての説明がすでに含まれています。構文は次のとおりです。

minute hour day month day_of_week username command

crontabのアスタリスク(*)を使用して、すべての有効な値を指定できます。したがって、コマンドを毎日深夜に実行する場合は、次のcronジョブを追加できます。

0 0 * * * root /sample_command >/dev/null 2>&1

cronジョブは次の場所で実行されます:

2016-06-10 00:00:00
2016-06-11 00:00:00
2016-06-12 00:00:00
2016-06-13 00:00:00
2016-06-14 00:00:00
...

特定のユーザーもcronジョブを作成できます。特定のユーザーのcronジョブは、/var/spool/cron/usernameにあります。 。特定のユーザーのcronジョブを作成する場合、cronジョブでユーザー名を指定する必要はありません。したがって、構文は次のようになります。

minute hour day month day_of_week command

6。 crondサービスを再起動します

変更を加えたら、以下のコマンドを使用してcrondサービスを再起動します。

sudo systemctl restart crond.service

詳細については、マニュアルページを確認してください:

man cron

および

man crontab

最初に正しいcronジョブを設定するのが難しい場合は、cronジョブ計算機を使用してcronジョブ式を生成できます。インターネット上で利用可能ないくつかの優れたcronジョブ計算機があります。

関連項目:Ubuntu crontab

もちろん、CentOS VPSホスティングサービスのいずれかを使用している場合は、CentOs crontabを使用する必要はありません。その場合は、専門のLinux管理者にCentOSでのcrontabのサポートを依頼してシステムタスクを自動化することができます。 24時間年中無休でご利用いただけます。リクエストはすぐに処理されます。

PS 。この投稿が気に入った場合は、CentOS crontabの使用方法について、左側のボタンを使用してソーシャルネットワーク上の友達と共有するか、下に返信を残してください。ありがとう。


Cent OS
  1. DirectAdminを使用してCentOS6にmod_ruid2をインストールします

  2. UbuntuでCrontabを使用してシステムタスクを自動化する

  3. CentOS / RHEL :cron の初心者向けガイド

  1. Linuxcronコマンドを使用したタスクのスケジューリング

  2. ForemanでCentOSストリームを管理する

  3. crontab -r で誤って削除された cron ジョブを回復する

  1. CentOS7にngx_pagespeedを使用してNginxをインストールします

  2. LinuxでのCronを使用したシステムタスクのスケジューリング

  3. Centos – Centos7ですべてのcronレコードを表示する方法は?