Нийтлэлийн лавлах
Linux -д суурилсан cron процесс нь хуваарьт ажлуудыг гүйцэтгэх хэрэгцээгээ хангахад бидэнд тусалдаг. Cron болон shell скриптүүдийг ашигласнаар бид маш нарийн төвөгтэй ажлуудын командуудыг хуваарийн дагуу хялбархан гүйцэтгэж чадна.
Cron гэж юу вэ?
Бид ихэвчлэн cron table гэсэн үгийн товчлол болох crontab командыг ашигладаг .
Энэ нь cron-ийн тохиргооны файл бөгөөд үүнийг ажлын жагсаалт гэж нэрлэж болно.
Бид дараах фолдеруудаас холбогдох тохиргооны файлуудыг олох боломжтой.
- /var/spool/cron/ лавлах нь root зэрэг хэрэглэгч бүрийн crontab даалгавруудыг хадгалдаг бөгөөд ажил бүрийг бүтээгчийн нэрээр нэрлэсэн байдаг.
- /etc/crontab Энэ файл нь янз бүрийн захиргааны болон засвар үйлчилгээний ажлыг төлөвлөх үүрэгтэй.
- /etc/cron.d/ Энэ директор нь ямар нэгэн crontab файл эсвэл гүйцэтгэх скриптийг хадгалахад ашиглагддаг.
- Бид мөн скриптүүдийг /etc/cron.hourly, /etc/cron.daily, /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:00 цагаас smb-г дахин эхлүүл
0 23 * * 6 /etc/init.d/smb restart
Жишээ 11: Smb-г цаг тутамд дахин эхлүүл
* */1 * * * /etc/init.d/smb restart
Жишээ 12: 11:7-XNUMX:XNUMX цагийн хооронд цаг тутамд smb-г дахин эхлүүл
* 23-7/1 * * * /etc/init.d/smb restart
Тодорхой Crontab даалгаврыг хэрхэн устгах вэ?
SSH дараах crontab командыг ▼ оруулна уу
crontab -e
- Олон даалгаврыг авч үзвэл, vim доторх заасан хуваарьтай даалгаврыг устгана уу (устгах тохиргооны мөрөнд курсорыг зөөж, устгахын тулд устгах товчийг дарна уу)
дагуу :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 Control Panel ашиглаж байгаа бол CWP Control Panel руу нэвтэрнэ үүнь Server Setting → Crontab for root ▼

"Бүрэн захиалгат Cron Jobs нэмэх" хэсэгт дараах бүрэн захиалгат cron командыг ▼ оруулна уу
00 7 * * * rclone sync /backup2 gdrive:cwp-backup2 55 7 * * * rclone sync /newbackup gdrive:cwp-newbackup
- (Өглөө бүр 7:00 цагт дотоод лавлахыг автоматаар синк хийнэ үү
/backup2gdrive тохиргооны нэртэй сүлжээний диск рүүbackup2Агуулгын хүснэгт) - (Өглөө бүр 7:55 цагт дотоод лавлахыг автоматаар синк хийнэ үү
/newbackupgdrive тохиргооны нэртэй сүлжээний диск рүүcwp-newbackupАгуулгын хүснэгт) - СинхрончлохWordPressВэб сайтын файлуудын хувьд нөөцлөлтийг үе шаттайгаар хийхгүй байхыг зөвлөж байна, учир нь хэрэв файлын нэр ижил боловч файлын агуулга өөр байвал тэдгээр нь синхрончлогдохгүй гэдгийг туршилтаар тогтоосон.
Автомат синхрончлол төлөвлөсөн байдлаар эхэлсний дараа rclone процесс нь ард ажиллаж байж болзошгүй тул CPU-ийн нөөцийн 20% хүртэлх хувийг ашиглаж, улмаар серверийн нөөцийг үргүй зарцуулж болзошгүй.
Тиймээс, rclone процессыг хаахын тулд бүрэн тохируулсан хуваарьтай даалгаврын командыг нэмэх шаардлагатай ▼
00 09 * * * killall rclone
- (Өглөө бүр 7:00 цагт rclone процессыг автоматаар албадан хаах)
Хэрэв CWP хяналтын самбар Crontab-ын хуваарьт даалгаврыг засах боломжгүй бол та FTP ашиглаж болноПрограм хангамж打开 文件 /var/spool/cron/ Crontab-ийн хугацаатай даалгавруудыг шууд засаарай.
VPS-г rclone ашиглан хэрхэн нөөцлөх вэ? GDrive ашиглан автомат синхрончлолын талаарх CentOS зааврыг үзэхийн тулд доорх холбоос дээр дарна уу ▼
Чен Вэйлиангийн блог ( https://www.chenweiliang.com/ ) дээр хуваалцсан "Linux Crontab хуваарьт скриптийн даалгаврын командууд ба тохиргооны файлын хэрэглээ" нийтлэл танд тустай байх гэж найдаж байна.
Энэ нийтлэлийн холбоосыг хуваалцахаас бүү эргэлзээрэй: https://www.chenweiliang.com/cwl-1429.html

