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は指定された日付間のカウントダウンを実装します

推薦する

Linux で PyCurl のエラーを解決する方法

「curl-config を実行できませんでした」の解決策 pycurl のダウンロード/解凍 (p...

Mysql binlog ログファイルが大きすぎる場合の解決策

目次1. 関連するbinlog設定2. binlogに関する詳細設定2.1 バイナリログモードの変更...

WeChatアプレットはビデオプレーヤーのビデオコンポーネントを使用します

この記事の例では、WeChatアプレットのビデオプレーヤーコンポーネントの具体的なコードを参考までに...

UDP シンプル サーバー クライアント コード例

UDP の理論については詳しく説明しません。UDP に関する HelloWorld プログラムを紹介...

vue+tsは要素のマウスドラッグの効果を実現します

この記事の例では、要素のマウスドラッグ効果を実現するためのvue+tsの具体的なコードを参考までに共...

MySQL Innodbインデックスの原理の詳細な説明

導入振り返ってみると、4年前、私がMySQLのインデックスについて学んでいたとき、先生はインデックス...

CentOS 7 での Nginx ログタイミング分割の実装手順の詳細説明

1. 分割スクリプト (splitNginxLog.sh) を作成します。 * この例では、ログ分割...

CMD で MySQL データベースを操作するときに中国語の文字化けが発生する問題の解決方法

Baiduで検索しました。 。 chcp コマンドを使用して、cmd の文字エンコーディングを 65...

JavaScript 配列を走査する 5 つの方法

目次1. forループ: 基本的でシンプル2. forEach() メソッド: コールバック関数の使...

el-table ヘッダーでテキストを折り返す 3 つの方法の詳細な説明

目次問題の説明レンダリング3種類のコード要約する問題の説明通常、表のヘッダーは折り返されませんが、ビ...

MySQL で遅い SQL 文を見つける方法

MySQL で遅い SQL ステートメントを見つけるにはどうすればよいでしょうか?これは、多くの人を...

Rx レスポンシブプログラミングについての簡単な説明

目次1. 観察可能2. 高階関数3. エクスプレスボックスモデル3.1. エクスプレスボックスモデル...

MySQLクラスタのDockerデプロイメントの実装

シングルノードデータベースの欠点大規模なインターネットプログラムはユーザーベースが大きいため、アーキ...

Dockerが新しいイメージをロードした後にリポジトリとタグ名が両方ともnoneになる問題を解決する

次のコマンドを使用できます: docker tag [イメージID] [名前]:[バージョン]例えば...

HTML でフォントの色を設定する方法と、PS を使用して HTML で正確なフォントの色を取得する方法

1. HTMLフォントカラー設定HTML では、フォント タグを使用してフォント コンテンツの色を設...