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トランザクションの基本的な学習と経験の共有

推薦する

Linux 継続的インテグレーションで Maven を自動的にインストールする方法

Mavenパッケージを解凍する tar xf apache-maven-3.5.4-bin.tar....

HTML ページジャンプのパラメータ渡しの問題

効果は以下のとおりです。ページジャンプボタンをクリックした後 対応する値はページ b で取得できます...

Ubuntu システムにおけるネットワーク構成ファイルの分析と説明

今日は奇妙なネットワーク問題に遭遇しました。調査プロセスといくつかの構成状況を記録し、Linux で...

HTML テーブルタグチュートリアル (24): 行の水平方向の配置属性 ALIGN

水平方向では、行の配置を左、中央、右に設定できます。基本的な構文<TR ALIGN="...

MySql5.7.21 インストールポイント記録メモ

ダウンロードしたバージョンは、Zip 解凍版、Windows システムです。長い間 Windows ...

Linux での Jenkins の詳細なインストール手順

目次1. JDKをインストールする2. Jenkinsをインストールする3. Jenkinsの設定を...

CSS を使用して画像の下の空白を数ピクセル消去する方法の詳細な説明

最近、友人が私に質問をしました。ページをレイアウトすると、画像の下に 1 ~ 2 ピクセルの空白があ...

HTML テーブルタグチュートリアル (44): テーブルヘッダータグ

<br />ソース コード内で表の構造を明確に区別するために、HTML 言語では、表のヘ...

1 つの記事で Apache Avro データを解析する

概要: この記事では、Avro データをシリアル化して生成し、FlinkSQL を使用して解析する方...

jQueryはキャンバスタグを使用して検証コードを描画します

<canvas> 要素は、クライアント側のベクター グラフィックス用に設計されています。...

複数のフィールドを変更するためのMysql更新の構文の詳細な分析

MySQL でレコードを更新すると、構文は正しいのですが、レコードが更新されません...質問文実行前...

この記事では、イベント委任を使用してJavaScriptメッセージボード機能を実装する方法について説明します。

イベント委任を使用してメッセージ ボード機能を実装します。 <!DOCTYPE html>...

MySQL で datetime 型のデフォルト値を設定する方法

Navicat クライアントを通じてデフォルトの日時値を変更する際に問題が発生しました。データベース...

WeChatアプレットがシンプルな計算機機能を実装

WeChatアプレット:シンプルな計算機、参考までに、具体的な内容は次のとおりです。ミニプログラムに...

Mysqlマスタースレーブ同期の実装原理

1. MySQL マスター/スレーブ同期とは何ですか?マスター データベースのデータが変更されると、...