GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでcronジョブを一覧表示する方法

Cronは、指定された間隔でタスクの実行をスケジュールできるようにするスケジューリングデーモンです。これらのタスクはcronジョブと呼ばれ、分、時間、曜日、月、曜日、またはこれらの任意の組み合わせで実行するようにスケジュールできます。

cronジョブは通常、システムのメンテナンス操作を実行するために使用されます。たとえば、cronジョブを設定して、データベースのバックアップ、最新のセキュリティパッチによるシステムの更新、キャッシュのクリア、メールの送信などの反復的なタスクを自動化できます。

この記事では、cronジョブを一覧表示する方法について説明します。

ユーザーのCronジョブの一覧表示#

ユーザーのcrontabファイルは、ユーザーの名前に基づいて名前が付けられ、その場所はオペレーティングシステムによって異なります。 CentOSなどのRedHatベースのディストリビューションでは、crontabファイルは/var/spool/cronに保存されます。 ディレクトリ。DebianおよびUbuntuでは、ファイルは/var/spool/cron/crontabsに保存されます。 ディレクトリ。

現在ログインしているユーザーのすべてのcronジョブのリストを取得するには、crontabを使用します コマンド:

crontab -l

ユーザーがcronジョブを設定している場合、ユーザーのcrontabの内容が画面に表示されます。それ以外の場合、コマンドはno crontab for <username>を出力します。 。

他のユーザーのcronジョブを一覧表示するには、-uを使用します コマンドの最後にユーザー名を指定するオプション。たとえば、「mark」という名前のユーザーのcronジョブを一覧表示するには、次を使用します。

sudo crontab -u mark -l

各ユーザーのcrontabファイルには600があります 権限とユーザーが所有します。 rootとsudoを持つユーザーのみ 特権は他のユーザーのcronジョブを表示できます。

cronジョブを作成したユーザーを確認するには、spoolのコンテンツを一覧表示します。 rootまたはsudoユーザーとしてのディレクトリ:

sudo ls -1 /var/spool/cron/crontabs

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

root
mark

システムのcronジョブの一覧表示#

/etc/crontab および/etc/cron.d内のファイル ディレクトリは、システム管理者のみが編集できるシステム全体のcrontabファイルです。

catを使用する 、less または、ファイルのコンテンツを表示するためのテキストエディタ:

cat /etc/crontab /etc/cron.d/*

ほとんどのLinuxディストリビューションでは、/etc/cron.{hourly,daily,weekly,monthly}内にスクリプトを配置することもできます。 ディレクトリ、およびスクリプトはhour/day/week/monthごとに実行されます 。

これらのディレクトリ内の各スクリプトには、実行権限が必要です。そうしないと、cronジョブは実行されません。

たとえば、毎週のcronジョブをすべて表示するには、次のように入力します。

ls -l /etc/cron.weekly/
-rwxr-xr-x 1 root root 813 Feb 10  2019 man-db

出力が空の場合は、毎週のcronジョブがないことを意味します。

システムタイマー#

Systemdタイマーは、*.timerで終わるユニットファイルです。 接尾辞を付けて、時間に基づいてサービスユニットを実行できるようにします。

systemdをinitシステムとして使用するLinuxディストリビューションでは、タイマーは標準のcronデーモンの代わりに使用されます。

マシン上のすべてのsystemdタイマーのリストを表示するには、次のコマンドを実行します。

systemctl list-timers
NEXT                         LEFT          LAST                         PASSED       UNIT                         ACTIVATES
Sun 2020-02-16 00:00:00 UTC  1h 53min left Sat 2020-02-15 17:04:11 UTC  5h 2min ago  logrotate.timer              logrotate.service
Sun 2020-02-16 00:00:00 UTC  1h 53min left Sat 2020-02-15 17:04:11 UTC  5h 2min ago  man-db.timer                 man-db.service
Sun 2020-02-16 03:50:52 UTC  5h 44min left Sat 2020-02-15 17:04:11 UTC  5h 2min ago  apt-daily.timer              apt-daily.service
Sun 2020-02-16 06:12:38 UTC  8h left       Sat 2020-02-15 17:04:11 UTC  5h 2min ago  apt-daily-upgrade.timer      apt-daily-upgrade.service
Sun 2020-02-16 18:44:56 UTC  20h left      Sat 2020-02-15 17:16:10 UTC  4h 50min ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service

結論#

cronジョブとsystemdタイマーを一覧表示する方法を示しました。

ご不明な点がございましたら、お気軽にコメントをお寄せください。


Linux
  1. Linuxでcronを使用する方法

  2. cronジョブを削除する方法

  3. 自分のマシンでスケジュールされているすべての cron ジョブのリストを取得するにはどうすればよいですか?

  1. Linuxで現在のすべてのcronジョブを一覧表示、表示、および表示する方法

  2. Linuxでcronジョブを設定する方法

  3. LinuxSSコマンドの使用方法

  1. Linuxでユーザーを一覧表示する方法

  2. Linuxでグループを一覧表示する方法

  3. LinuxでCRONジョブをスケジュールおよび一覧表示するさまざまな方法