Linux と Windows でスケジュールされたタスクを設定する方法

Linux と Windows でスケジュールされたタスクを設定する方法

リナックス

Linux では、crontab を使用してスケジュールされたタスクを作成できます。システムにはデフォルトで crontab が付属しています。このデモは Ubuntu 16.04 で行われます。

1. crontabの基本的な使い方

#/etc/init.d/cron status # ステータスを確認します#/etc/init.d/cron start # crontab サービスを開始します#/etc/init.d/cron stop # crontab サービスを停止します#/etc/init.d/cron reload # スケジュールされたタスクを再読み込みします#crontab -l # スケジュールされたタスクのリストを表示します

2. ログを有効にする

設定ファイルを変更する必要があります。

#sudo vim /etc/rsyslog.d/50-default.conf
...
cron.* /var/log/cron.log #cron の前のコメント文字を削除します...

rsyslogを再起動します。

#sudo service rsyslog restart

3. スケジュールされたタスクを設定する

このデモでは、私が書いた Python スクリプトを定期的に実行します。Bash スクリプトなども同様になるはずです。スクリプトの絶対パスを指定するのが最善であることに注意してください。それでも問題が解決しない場合は、最初にスクリプト パスに切り替えて実行することができます。でも大丈夫なはずです。

 ... 0 0 * * * python /home/kdv/Desktop/sync-opensource/sync.py # 毎日または毎週のスクリプトのスケジュール実行
 @daily cd /home/kdv/Desktop/sync-opensource;python /home/kdv/Desktop/sync-opensource/sync.py

 0 0 1 * mon python /home/kdv/Desktop/sync-opensource/sync.py # 毎週または毎週のスクリプトの実行スケジュール
 @weekly cd /home/kdv/Desktop/sync-opensource;python /home/kdv/Desktop/sync-opensource/sync.py

必要に応じて毎日または毎週実行を設定します。詳細についてはリンクを参照してください。

タスクを設定したら、タスク リストを確認し、必要に応じてタスクをリロードできます。

#crontab -l # 追加したタスクを表示できます #/etc/init.d/cron reload # スケジュールされたタスクをリロードします #vim /var/log/cron.log # スケジュールされたタスクによって生成されたログを表示します

4. テスト

図はテストのために5分ごとにスクリプトを実行する例を示しています。

左: スクリプトの実行中、実行中のスクリプトの出力結果を記録するために、現在の時刻にちなんで名付けられたログ ファイルが生成されます。

右: crontab ログ ファイル。スクリプトが 5 分ごとに実行されていることがわかります。

ウィンドウズ

Windows システムには crontab コマンドはありませんが、Windows システムには crontab コマンドに似たコマンドである schtasks コマンドがあります。 Win10で動作します。

1. ヘルプドキュメント

schtasks のヘルプ ドキュメントを表示して、コマンドの詳細を確認するには、次のコマンドを使用します。

C:\Users\Administrator>schtasks /?
SCHTASKS /パラメータ [引数]
説明する:
 管理者は、ローカルまたはリモート システム上でスケジュールされたタスクを作成、削除、照会、変更、実行、中止できます。
パラメータリスト:
 /Create 新しいスケジュールされたタスクを作成します。
 /Delete スケジュールされたタスクを削除します。
 /Query スケジュールされたすべてのタスクを表示します。
 /Change スケジュールされたタスクのプロパティを変更します。
 /Run スケジュールされたタスクをオンデマンドで実行します。
 /End 現在実行中のスケジュールされたタスクを中止します。
 /ShowSid スケジュールされたタスク名に対応するセキュリティ識別子を表示します。
 /? このヘルプ メッセージを表示します。
例:
 タスク
 タスク /?
 SCHTASKS /実行/?
 SCHTASKS /終了/?
 SCHTASKS /作成/?
 SCHTASKS /削除/?
 SCHTASKS /クエリ/?
 SCHTASKS /変更/?
 SCHTASKS /ShowSid /?

タスクの作成、照会、変更、削除などを行うことができます。create コマンドなどの対応するサブコマンドに慣れていない場合は、SCHTASKS /Create /? を使用して詳細な手順をさらに表示できます。

2. システムのデフォルトタスクを表示する

schtasks コマンドを使用するか、クエリ パラメータを使用して schtasks /query を実行し、システムで現在実行中のタスクを照会します。

C:\Users\Administrator>schtasks

フォルダ: \
タスク名次回実行時モード============================================= ========================= =====================
Adobe Acrobat Update Task 2019/9/2 11:00:00 準備完了 SogouImeMgr N/A 準備完了 sync-opensource 2019/9/2 11:30:00 準備完了 WpsUpdateTask_Administrator 2019/9/2 9:23:46 準備完了...

3. スケジュール実行タスクを作成する

より詳細なパラメータの説明を表示するには、コマンド ラインに schtasks /create /? と入力します。最も重要となるパラメータのみがリストされています。

/TN タスク名 このスケジュールされたタスクを一意に識別するパス\名前の形式で文字列を指定します。
/TR taskrun このスケジュールされた時間に実行されるプログラムのパスとファイル名を指定します。
 例: C:\windows\system32\calc.exe
/SC スケジュール スケジュールの頻度を指定します。
 ==> wevtvwr.msc の実行を開始するためのスケジュールされたタスク「EventLog」を作成します
 SCHTASKS /Create /TN イベントログ /TR wevtvwr.msc /SC ONEVENT
 毎分、毎時間、毎日、毎週など、分: 1 ~ 1439 分。
 時間単位: 1 - 23 時間;
 毎日: 1 ~ 365 日;
 週次: 1 ~ 52 週間。
/ST 開始時刻 タスクを実行する開始時刻を指定します。
 時刻の形式は HH:mm (24 時間制) です。たとえば、14:30 は午後 2:30 を意味します。 /ST が指定されていない場合、デフォルトは現在の時刻になります。 /SC ONCE このオプションは必須です。

3.1 タスクを作成する

毎日11:30に定期的にbatスクリプトを実行するために、 "sync-opensource 」というファイルを作成します。タスクを作成するコマンドは次のとおりです。

schtasks /create /tn "sync-opensource" /tr "E:\PycharmProjects\opensource\sync.bat" /sc 毎日 /st 11:30

4 その他

4.1 指定されたタスクを見つける

たとえば、上記で作成した sync-opensource タスクを見つけます。

C:\Users\Administrator>schtasks -query | 「sync-opensource」を検索
sync-opensource 2019/9/2 11:30:00 準備完了

4.2 タスクの削除

指定したタスクを削除するには、次のコマンドを使用できます。

schtasks /delete /tr taskname

要約する

上記は、編集者が紹介した Linux および Windows でのスケジュールされたタスクの設定方法です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • Linux 環境で crontab コマンドを使用して、スケジュールされた定期的な実行タスクを設定します (PHP 実行コードを含む)
  • Linux での crontab スケジュール実行コマンドの詳細な説明
  • Linux でタスクをスケジュール実行するための at コマンドと crontab コマンドの詳細な説明
  • Linux でタスクを定期的に実行する方法と crontab の使用方法の説明 (収集およびソート済み)
  • Linuxでcronを使用して定期的にタスクを実行する方法

<<:  CentOS で MySQL を完全にアンインストールする方法

>>:  Vueは指定された日付間のカウントダウンを実装します

推薦する

nginx が動的と静的の分離を実装する方法の例

目次server1にnginxをデプロイするサーバーにlnmpを展開するノード3にhttpdをデプロ...

MySQL エラー「すべての派生テーブルには独自のエイリアスが必要です」の解決方法

MySQL は、マルチテーブルクエリを実行するときにエラーを報告します。 [SQL] SELECT ...

CSS の子要素の Z インデックスと親要素の兄弟ノードの階層問題を解決する

1. 問題の出現フラット リストを作成しました。リストの一部には、マウスをホバーすると表示されるポッ...

IIS を使用して X-Forwarded-For ヘッダー (XFF) を呼び出して訪問者の実際の IP を記録する 2 つの方法

問題: IIS を通じて公開された Web サイトは F5 デバイスの背後に配置されています。透過的...

CSS プロパティ *-gradient の実用的な価値を探る

まず興味深い性質であるconic-gradientを紹介しましょう。円錐グラデーション!円グラフの作...

CSS最適化スキルの自己実践体験

1. CSS スプライトを使用します。利点は、CSS で使用される小さな画像を 1 つの大きな画像に...

MySQL接続クエリの原理と応用

概要MySQL の最も強力な機能の 1 つは、データ取得を実行しながらテーブルを結合できることです。...

Vue3.xはコンポーネント通信にmitt.jsを使用します

目次クイックスタート使い方基本原則Vue2.x はコンポーネント通信に EventBus を使用しま...

ドッカー専用倉庫港湾建設プロセス

1. 準備1.1 港ダウンロードハーバーダウンロードアドレス:リンクリンクの説明を追加し、必要なバー...

2017 最新バージョンの Windows インストール MySQL チュートリアル

1. まず、MySQL の公式サイトから最新バージョンの MySQL をダウンロードします。リンクを...

Nest.js のハッシュと暗号化の例の詳細な説明

0x0 はじめにまず、ハッシュアルゴリズムとは何でしょうか?メッセージやセッション項目など、一部のデ...

XAML でボタンを円として再描画する方法

XAML レイアウトを使用する場合、インターフェイスを Metro 風にするために、一部のボタンでは...

Nginx におけるサーバーとロケーションのマッチングロジックの詳細な理解

サーバーマッチングロジックNginx は、リクエストを実行するサーバー ブロックを決定するときに、サ...

新しい CSS display:box プロパティの詳細な説明

1. ディスプレイボックス;要素にこのプロパティを設定すると、display:inline-bloc...

IE8対応のボーダー半径処理方法

canisue (http://caniuse.com/#search=border-radius)...