記事ディレクトリ
Linuxに組み込まれているcronプロセスは、スケジュールされたタスクを実行するというニーズを満たすのに役立ちます。cronとシェルスクリプトを使用することで、非常に複雑なタスクコマンドをスケジュールに基づいて簡単に実行できます。
クロンとは?
私たちはよくcrontabコマンドを使用します。これはcron tableの略です。
ジョブリストとも言えるcronの設定ファイルです。
関連する構成ファイルは、次のフォルダーにあります。
- /var/spool/cron/ ディレクトリには、root を含む各ユーザーの crontab タスクが格納され、各タスクは作成者にちなんで名付けられています。
- /etc/crontab このファイルは、さまざまな管理および保守タスクのスケジューリングを担当します。
- /etc/cron.d/ このディレクトリは、実行する crontab ファイルまたはスクリプトを格納するために使用されます。
- /etc/cron.hourly、/etc/cron.d にスクリプトを置くこともできます。aily、/etc/cron.weekly、/etc/cron.monthly ディレクトリで、毎時/日/週、月ごとに実行させます。
Crontab はどのように使用されますか?
よく使用されるコマンドは次のとおりです。
crontab [-u username] //省略用户名表示操作当前用户的crontab
-e (编辑工作表)
-l (列出工作表里的命令)
-r (删除工作表)を使用しておりますcrontab -e一般的な vim インターフェイスである、現在のユーザーのワークシート編集に入ります。各行はコマンドです。
ワークシートの編集▼
crontab -e
ワークシート一覧▼
crontab -l
ワークシートを削除 ▼
crontab -r
crontab コマンドは、時間 + アクションという構造になっています。時間オプションには、分、時間、日、月、金曜日などがあります。演算子には、...
- * 範囲内のすべての数値
- / 数字はいくつ
- – XからZまで
- 、ハッシュ番号
Crontab スケジュールされたタスクの実行コマンドの例

例 1: myCommand を 1 分ごとに実行する
* * * * * myCommand
例 2: 毎正時 3 分と 15 分に実行
3,15 * * * * myCommand
实例3:在上午8点到11点的第3和第15分钟执行
3,15 8-11 * * * myCommand
实例4:每隔两天的上午8点到11点的第3和第15分钟执行
3,15 8-11 */2 * * myCommand
实例5:每周一上午8点到11点的第3和第15分钟执行
3,15 8-11 * * 1 myCommand
例 6: 毎晩 21:30 に smb を再起動する
30 21 * * * /etc/init.d/smb restart
实例7:每月1、10、22日的4 : 45重启smb
45 4 1,10,22 * * /etc/init.d/smb restart
例 8: 毎週土曜日と日曜日の 1:10 に smb を再起動する
10 1 * * 6,0 /etc/init.d/smb restart
例 9: 毎日 18:00 から 23:00 の間、30 分ごとに smb を再起動する
0,30 18-23 * * * /etc/init.d/smb restart
例 10: 毎週土曜日の午後 11 時に smb を再起動する
0 23 * * 6 /etc/init.d/smb restart
例 11: XNUMX 時間ごとに smb を再起動する
* */1 * * * /etc/init.d/smb restart
例 12: 午後 11 時から午前 7 時まで XNUMX 時間ごとに smb を再起動する
* 23-7/1 * * * /etc/init.d/smb restart
指定した Crontab タスクを削除するには?
SSHで以下のcrontabコマンドを入力▼
crontab -e
- 複数のタスクを想定し、指定したスケジュールタスクをvimで削除する(削除したい設定行にカーソルを合わせ、deleteキーを押して削除)
按 :wq 保存して終了
Crontab タスクが削除されたかどうかを確認しますか?
crontab -l
- 削除したばかりの crontab スケジュール タスクが存在しないことがわかりました。これは、削除が成功したことを意味します。
Cronサービスを再起動するにはどうすればよいですか?
システムサービス管理コマンドの使用:場合によっては、システムサービス管理コマンドを直接使用してcronサービスを再起動する必要があるかもしれません。
特に、HestiaCPでCronスケジュールタスクを追加または変更する場合は、変更を有効にするためにCronサービスを再起動する必要があります。
これには通常、次のコマンドのいずれかが含まれます。
使用する場合
systemdシステム:sudo systemctl restart cron使用する場合
init.d古いシステム用のスクリプト:sudo /etc/init.d/cron restart使用する場合
serviceコマンドシステム:sudo service cron restart
CWP コントロール パネルCrontab のスケジュールされたタスクを設定する方法
- スケジュールされたタスクで、同期コマンドを追加して、CWP コントロール パネルのバックアップ ファイルを GDrive に自動的に同期します。
CWPコントロールパネルを使用している場合は、CWPコントロールパネルにログインします。的 Server Setting → Crontab for root ▼

「フルカスタムcronジョブの追加」で、次のフルカスタムcronコマンドを入力します▼
00 7 * * * rclone sync /backup2 gdrive:cwp-backup2 55 7 * * * rclone sync /newbackup gdrive:cwp-newbackup
- (毎朝午前7時にローカルディレクトリを自動的に同期します
/backup2構成名 gdrive のネットワーク ディスクにbackup2目次) - (毎朝午前7時にローカルディレクトリを自動的に同期します
/newbackup構成名 gdrive のネットワーク ディスクにcwp-newbackup目次) - 同期するWordPressWeb サイト ファイルの場合、増分バックアップを行わないことをお勧めします。これは、ファイル名が同じでもファイルの内容が異なる場合、ファイルが同期されないことがテストで判明したためです。
rcloneプロセスは、自動同期の開始予定時刻後もバックグラウンドで実行され続ける可能性があるため、CPUリソースの最大20%を消費し、サーバーリソースの無駄遣いにつながる可能性があります。
したがって、完全にカスタマイズされたスケジュールされたタスク コマンドを追加して、rclone プロセスを強制的に終了する必要があります ▼
00 09 * * * killall rclone
- (毎朝7:00にrcloneプロセスを自動的に強制的に閉じます)
CWP コントロール パネルで Crontab のスケジュールされたタスクを編集できない場合は、FTP を使用できます。ソフトウェアファイルを開く /var/spool/cron/ Crontab の時間指定タスクを直接編集します。
rcloneを使ってVPSをバックアップする方法は?以下のリンクをクリックして、GDriveを使用した自動同期に関するCentOSチュートリアルをご覧ください。▼
Chen Weiliang氏のブログ(https://www.chenweiliang.com/ )で公開されている記事「Linux Crontab スケジュール済みスクリプトタスクのコマンドと設定ファイルの使用方法」が、皆様のお役に立てば幸いです。
この記事のリンクはご自由に共有してください:https://www.chenweiliang.com/cwl-1429.html

