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

推薦する

Reactでwindow.print()を使用した際にページが応答しなくなる問題の解決記録について

目次1. 問題の背景: 2. 問題の原因: 3. 問題解決:要約: 1. 問題の背景: window...

フレックスボックスレイアウトの最終行の左揃えの実装アイデア

フレックスレイアウトを使用すると、9つの正方形のグリッドであれば、図に示すように均等に分割できます。...

RoughViz を使用して Vue.js でスケッチされたチャートを視覚化する方法

導入チャートは、データ セットを読みやすくし、その各部分を区別しやすくするために使用されるデータのグ...

CSS3はさまざまな境界効果を実現します

半透明の境界線結果: 実装コード: <div> 半透明の境界線が見えますか? </...

10 HTML テーブル関連タグ

実際、多くの人が「テーブルは絶対に使用すべきではないと聞いたことがある」と言いますが、これは絶対に間...

Windows での MySQL 8.0.15 のインストールと設定方法のグラフィック チュートリアル

この記事では、参考までにMySQL 8.0.15のインストールと設定方法のグラフィックチュートリアル...

VUEはFlappy Birdゲームのサンプルコードを実装します

Flappy Bird は、誰もがアプリでプレイしたことがある非常にシンプルな小さなゲームです。ここ...

強くお勧めします! Vue 3.2 でシンタックスシュガーを設定する

目次前の1. セットアップ構文シュガーとは何か2. セットアップコンポーネントを使用して自動的に登録...

MySQL の日付と時刻の加算と減算のサンプル コード

目次1.MySQLは時間間隔を加算または減算します2. 日付を減算する最近、MySQL を見直してい...

arcgis.js は、マップ本体の表示範囲を制御し、領域を超えた場合に自動的にバウンスするようにします (実装のアイデア)

目次背景効果アイデア背景少し前に、会社のプロジェクトで問題が発生しました。地図のベースマップ領域の範...

CSS3 とテーブルタグを使用して円軌道アニメーションを実装するためのサンプルコード

html: 実際には、テーブルタグに従っていくつかの実線の円 div を正六角形に配置し、div コ...

jQueryは広告を上下にスクロールする効果を実現します

この記事では、広告を上下にスクロールする効果を実現するためのjQueryの具体的なコードを参考までに...

MySQLサブクエリの詳細な例

サブクエリの分類返された結果セットによる分類サブクエリは、返される結果セットの違いに応じて、テーブル...

MySQL で自動インクリメントシーケンスを実装するためのサンプルコード

1. シーケンステーブルを作成する テーブル `sequence` を作成します ( `name` ...

MySQL 5.7 スレーブノードからマルチスレッド マスター スレーブ レプリケーションを構成する方法の詳細な説明

序文MySQL は MySQL 5.6 からマルチスレッド レプリケーションをサポートしていますが、...