Linuxの一般ユーザー向けスケジュールタスクの詳細な説明

Linuxの一般ユーザー向けスケジュールタスクの詳細な説明

序文

通常のユーザーはcrontabスケジュールタスクを定義します。たとえば、Oracleユーザーはスケジュールタスクを定義します。現在のディレクトリを1分ごとに印刷します。

[oracle@node2 ~]$ crontab -e

*/1 * * * * /bin/ls -al > /tmp/ls.log

スケジュールされたタスクが実行されたかどうかを確認するにはどうすればよいでしょうか?まず、crondサービスが実行されている必要があります

[oracle@node2 ~]$ サービスcrondステータス
/bin/systemctl status crond.service にリダイレクトしています
● crond.service - コマンドスケジューラ
ロード済み: ロード済み (/usr/lib/systemd/system/crond.service; 有効; ベンダープリセット: 有効)
アクティブ: 2018-07-15 08:27:38 EDT (日) からアクティブ (実行中)、2 分 43 秒前
メイン PID: 6189 (crond)
Cグループ: /system.slice/crond.service
└─6189 /usr/sbin/crond -n
[oracle@node2 ~]$

1. ルートユーザーとしてmailコマンドを使用する

[root@node2 ~]# メール
Heirloom Mail バージョン 12.5 7/5/10。ヘルプを表示するには ? と入力してください。
"/var/spool/mail/root": メッセージ 801 件、新着 9 件、未読 94 件
N795 (Cron デーモン) 日曜日 7 月 15 日 08:25 35/932 "Cron <root@node2> /bin/ls"
N796 (Cron デーモン) 日曜日 7 月 15 日 08:26 35/932 "Cron <root@node2> /bin/ls"
N797 (Cron デーモン) 日曜日 7 月 15 日 08:27 35/932 "Cron <root@node2> /bin/ls"
N798 (Cron デーモン) 日曜日 7 月 15 日 08:28 35/932 "Cron <root@node2> /bin/ls"
N799 (Cron デーモン) 日曜日 7 月 15 日 08:29 35/932 "Cron <root@node2> /bin/ls"
N800 (Cron デーモン) 日曜日 7 月 15 日 08:30 35/932 "Cron <root@node2> /bin/ls"
& ファイル
"/var/spool/mail/root": メッセージ 801 件、新着 9 件、未読 94 件
& 時間
>N793 (Cron デーモン) 日曜日 7 月 15 日 08:23 35/932 "Cron <root@node2> /bin/ls"
N794 (Cron デーモン) 日曜日 7 月 15 日 08:24 35/932 "Cron <root@node2> /bin/ls"
N795 (Cron デーモン) 日曜日 7 月 15 日 08:25 35/932 "Cron <root@node2> /bin/ls"
N796 (Cron デーモン) 日曜日 7 月 15 日 08:26 35/932 "Cron <root@node2> /bin/ls"
N797 (Cron デーモン) 日曜日 7 月 15 日 08:27 35/932 "Cron <root@node2> /bin/ls"
N798 (Cron デーモン) 日曜日 7 月 15 日 08:28 35/932 "Cron <root@node2> /bin/ls"
N799 (Cron デーモン) 日曜日 7 月 15 日 08:29 35/932 "Cron <root@node2> /bin/ls"
N800 (Cron デーモン) 日曜日 7 月 15 日 08:30 35/932 "Cron <root@node2> /bin/ls"
&800
メッセージ 800:
[email protected] より 2018 年 7 月 15 日 (日) 08:30:01
リターンパス: <[email protected]>
X-Original-To: ルート
配信先: [email protected]
送信者: "(Cron デーモン)" <[email protected]>
宛先: [email protected]
件名: Cron <root@node2> /bin/ls
コンテンツタイプ: text/plain; 文字セット=UTF-8
自動送信: 自動生成
優先順位: 一括
X-Cron 環境: <XDG_SESSION_ID=278>
X-Cron 環境: <XDG_RUNTIME_DIR=/run/user/0>
X-Cron 環境: <LANG=en_US.UTF-8>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>
日付: 2018 年 7 月 15 日 (日) 08:30:01 -0400 (EDT)
ステータス: R
\
アナコンダ ks.cfg
デスクトップ
文書
ダウンロード
初期セットアップ-ks.cfg
音楽
写真
公共
テンプレート
ビデオ

mial 対話型環境では、file コマンドを使用して、現在の電子メールの合計数やその他の情報を表示します。head を使用して最新の電子メールを表示し、その番号を入力すると、電子メールの詳細情報が表示されます。

2. ログを表示します: tail -n 10 /var/log/cron

[root@node2 ~]# tail -n 10 /var/log/cron
7月15日 08:31:01 node2 CROND[6297]: (root) CMD (/bin/ls)
7月15日 08:31:01 node2 CROND[6298]: (oracle) CMD (/bin/ls -al > /tmp/ls.log)
7月15日 08:32:01 node2 CROND[6321]: (oracle) CMD (/bin/ls -al > /tmp/ls.log)
7月15日 08:32:01 node2 CROND[6322]: (root) CMD (/bin/ls)
7月15日 08:33:02 node2 CROND[6342]: (root) CMD (/bin/ls)
7月15日 08:33:02 node2 CROND[6343]: (oracle) CMD (/bin/ls -al > /tmp/ls.log)
7月15日 08:34:01 node2 CROND[6362]: (root) CMD (/bin/ls)
7月15日 08:34:01 node2 CROND[6363]: (oracle) CMD (/bin/ls -al > /tmp/ls.log)
7月15日 08:35:01 node2 CROND[6382]: (oracle) CMD (/bin/ls -al > /tmp/ls.log)
7月15日 08:35:01 node2 CROND[6383]: (root) CMD (/bin/ls)
[ルート@ノード2 ~]#

ログファイルには、すべてのユーザーのスケジュールされたタスクの実行が記録されます。

3. メールを使用して一般ユーザーで表示する

(スケジュールされたタスクでは、スケジュールされたタスクを実行するユーザーを明確に定義する必要があります。そうしないと、スケジュールされたタスクが Oracle ユーザーの下に定義されていても、電子メールを受信できない可能性があります)

[oracle@node2 ~]$ crontab -l
*/1 * * * * オラクル /bin/ls -al > /tmp/ls.log
[oracle@node2 ~]$
[oracle@node2 ~]$ メール
Heirloom Mail バージョン 12.5 7/5/10。ヘルプを表示するには ? と入力してください。
"/var/spool/mail/oracle": メッセージ 6 件、未読 1 件
1 (Cron デーモン) 3 月 5 日月曜日 14:10 52/2476 "Cron <oracle@localhost> ls -al"
2 (Cron デーモン) 日曜日 7 月 15 日 06:10 57/2777 "Cron <oracle@node2> /bin/ls -al"
3 (Cron デーモン) 日曜日 7 月 15 日 06:11 57/2777 "Cron <oracle@node2> /bin/ls -al"
4 (Cron デーモン) 日曜日 7 月 15 日 06:12 57/2778 "Cron <oracle@node2> /bin/ls -al"
5 (Cron デーモン) 日曜日 7 月 15 日 06:13 57/2778 "Cron <oracle@node2> /bin/ls -al"
>U 6 (Cron デーモン) 日曜日 7 月 15 日 08:38 26/929 "Cron <oracle@node2> oracle /bin/ls -al > /tmp/ls.log"
&

/var/log/cronファイルは一般ユーザーが直接見ることはできません。

[oracle@node2 ~]$ tail -n 10 /var/log/cron
tail: '/var/log/cron' を読み取り用に開けません: 権限が拒否されました
/var/spool/mail/oracleに新しいメールがあります
[oracle@node2 ~]$

/etc/crontabファイルにスケジュールされたタスクを書き込む別の方法がありますが、centos7ではこのファイルに書き込んで実行するとエラーが発生します。

[oracle@node2 ~]$ cat /etc/crontab
シェル=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=ルート
# 詳細については man 4 crontabs を参照してください
# ジョブ定義の例:
# .---------------- 分 (0 - 59)
# | .------------- 時間 (0 - 23)
# | | .---------- 月日 (1 - 31)
# | | | .------- 月 (1 - 12) または jan、feb、mar、apr ...
# | | | | .---- 曜日 (0 - 6) (日曜日 = 0 または 7) または sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * ユーザー名 実行するコマンド
[oracle@node2 ~]$

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。

以下もご興味があるかもしれません:
  • Linuxでcronを使用して定期的にタスクを実行する方法
  • Linux crontab スケジュールタスクの設定方法(詳細説明)
  • Linuxはcrontabを使用してPHP実行計画のタイミングタスクを実装します
  • サーバーは定期的にスケジュールされたタスクを実行し、定期的にページにアクセスします (Windows/Linux)
  • Linux で crontab を使用してスケジュールされたタスクを 1 秒に 1 回実行する方法
  • Linux で PHP を使用して cron タスクをスケジュールする方法の詳細な説明
  • Linux でタスクを定期的に実行する方法と crontab の使用方法の説明 (収集およびソート済み)
  • Linux での Python スクリプトの自動起動とスケジュールされたタスクの詳細な説明
  • Linuxは毎週45日前のログをクリーンアップするためにスケジュールされたタスクを使用します
  • Linux スケジュールされたタスクのアクセス URL の例

<<:  js の parseInt() の奇妙な動作の調査と修正

>>:  MySQLトランザクションの基本的な学習と経験の共有

推薦する

MySQLは「order by」がどのように機能するかを簡単に理解します

並べ替えの場合、order by は非常に頻繁に使用するキーワードです。インデックスに関するこれまで...

MySQLはテーブル内のフィールドを別のテーブル内のフィールドの値と等しくなるように更新します

以下のように表示されます。 table1 を z として更新し、table2 を zb として結合し...

MySQL ジョイントテーブルクエリの簡単な例

MySql は結合テーブルクエリを使用しますが、初心者には理解しにくい場合があります。以下の記事では...

js における浅いコピーと深いコピーの詳細な説明

目次1. jsメモリ2. 譲渡3. 浅いコピー4. ディープコピー序文:以下の記事を読む前に、記憶に...

ES6 クラス継承を使用してゴージャスなボール効果を実現する方法

目次導入実装手順キャンバス環境を作成するライティングボールBallクラスを継承するMoveBallク...

Dockerイメージを構築する2つの方法

目次既存のイメージからイメージを更新します。イメージを最初から構築する: Docker イメージ リ...

Docker swarm の簡単なチュートリアル

3つの仮想マシン132、133、134を群がらせる1. クラスターを初期化し、自分自身をクラスターに...

Linuxでのcrontabの使い方と注意点の詳しい説明

Crontab は定期的な実行を設定するために使用されるコマンドです。そのデーモン プロセスは cr...

WeChatアプレットのサイレントログインとカスタムログイン状態の維持の詳細な説明

目次1. 背景2. サイレントログインとは何ですか? 3. カスタムログイン状態を維持する方法4. ...

dockerネットワーク双方向接続の詳細な説明

Dockerネットワークを見るdocker ネットワーク ls [root@master ~]# d...

WeChatアプレットは日付と時刻に基づいた並べ替え機能を実装

最近、小さなプログラム プロジェクトを引き継いだのですが、リストを日付と時刻で並べ替えるという要件が...

Ubuntu20のtzselect設定時間失敗問題、Raspberry Piサーバ(推奨)

2 日前、Raspberry Pi サーバーを Ubuntu 20 にアップグレードしました。今日...

Linux で 1 回限りのスケジュールされたタスクを実行するための at コマンドの使用に関する詳細な説明

目次序文1. 一度限りの計画タスクの紹介2. コマンド3. 1回限りのスケジュールタスクを作成する4...

MySQL の自己結合重複排除に関する注意事項

機能シナリオを簡単に説明しましょう。データ行フィールドは次のとおりです。名前開始日時タイプこの表では...

mysql MDLメタデータロックの詳細な分析

序文: MySQL で SQL 文を実行すると、予想した時間内に文が完了しません。このような場合、通...