Каталог артыкулаў
Убудаваны працэс cron у Linux можа дапамагчы нам задаволіць патрэбы ў выкананні запланаваных задач. Выкарыстоўваючы cron і сцэнарыі абалонкі, мы можам лёгка выконваць вельмі складаныя каманды задач па раскладзе.
Што такое Cron?
Мы часта выкарыстоўваем каманду crontab , што скарочана ад cron table.
Гэта файл канфігурацыі для cron, які таксама можна назваць спісам заданняў.
Мы можам знайсці адпаведныя канфігурацыйныя файлы ў наступных папках.
- Каталог /var/spool/cron/ захоўвае задачы crontab для кожнага карыстальніка, уключаючы root, і кожная задача названа ў гонар стваральніка
- /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: перазапускайце smb кожны вечар у 21:30
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: перазапускайце smb у 1:10 кожную суботу і нядзелю
10 1 * * 6,0 /etc/init.d/smb restart
Прыклад 9: перазапускайце smb кожныя 18 хвілін з 00:23 да 00:30 кожны дзень
0,30 18-23 * * * /etc/init.d/smb restart
Прыклад 10: перазапускайце smb кожную суботу ў 11:00
0 23 * * 6 /etc/init.d/smb restart
Прыклад 11: Перазапускайце smb кожную гадзіну
* */1 * * * /etc/init.d/smb restart
Прыклад 12: перазапускайце smb кожную гадзіну з 11:7 да XNUMX:XNUMX
* 23-7/1 * * * /etc/init.d/smb restart
Як выдаліць вызначаную задачу Crontab?
SSH увядзіце наступную каманду crontab ▼
crontab -e
- Мяркуючы, што выканана некалькі задач, выдаліце пазначанае запланаванае заданне ў vim (перамясціце курсор у радок канфігурацыі, які трэба выдаліць, націсніце клавішу выдалення, каб выдаліць)
прэс :wq захаваць і выйсці
Праверце, ці была выдалена задача Crontab?
crontab -l
- Выяўлена, што запланаванае заданне crontab, якое толькі што было выдалена, не існуе, што азначае, што выдаленне прайшло паспяхова.
Як перазапусціць службу Cron?
Выкарыстанне каманд кіравання сістэмнымі службамі : У некаторых выпадках вам можа спатрэбіцца непасрэдна выкарыстоўваць каманды кіравання сістэмнымі службамі, каб перазапусціць службу cron.
У прыватнасці, пры даданні або змене запланаваных задач Cron у HestiaCP , службу Cron неабходна перазапусціць, каб змены ўступілі ў сілу.
Звычайна гэта ўключае адну з наступных каманд:
Для выкарыстання
systemdсістэма:sudo systemctl restart cronДля выкарыстання
init.dСкрыпт для старых сістэм:sudo /etc/init.d/cron restartДля выкарыстання
serviceСістэма каманд:sudo service cron restart
Панэль кіравання CWPЯк усталяваць запланаваныя задачы Crontab
- У запланаванае заданне дадайце каманду сінхранізацыі для аўтаматычнай сінхранізацыі файлаў рэзервовых копій панэлі кіравання CWP з GDrive.
Калі вы выкарыстоўваеце панэль кіравання CWP, увайдзіце ў панэль кіравання CWPOf Server Setting → Crontab for root ▼

У «Дадаць поўныя карыстальніцкія заданні Cron» увядзіце наступную цалкам карыстальніцкую каманду cron ▼
00 7 * * * rclone sync /backup2 gdrive:cwp-backup2 55 7 * * * rclone sync /newbackup gdrive:cwp-newbackup
- (Аўтаматычна сінхранізаваць лакальны каталог кожную раніцу ў 7:00
/backup2на сеткавы дыск з назвай канфігурацыі gdrivebackup2Змест) - (Аўтаматычна сінхранізаваць лакальны каталог кожную раніцу ў 7:55
/newbackupна сеткавы дыск з назвай канфігурацыі gdrivecwp-newbackupЗмест) - СінхранізавацьWordPressРэкамендуецца не ствараць паступовыя рэзервовыя копіі для файлаў вэб-сайтаў, таму што тэст паказаў, што калі імёны файлаў аднолькавыя, але змесціва файлаў адрозніваецца, яны не будуць сінхранізаваны.
Паколькі працэс rclone можа працягваць працаваць у фонавым рэжыме пасля запланаванага пачатку аўтаматычнай сінхранізацыі, ён можа спажываць да 20% рэсурсаў працэсара, што прыводзіць да марнавання рэсурсаў сервера.
Такім чынам, неабходна дадаць цалкам наладжаную каманду запланаванага задання, каб прымусова зачыніць працэс rclone ▼
00 09 * * * killall rclone
- (Аўтаматычнае прымусовае закрыццё працэсу rclone кожную раніцу ў 7:00)
Калі панэль кіравання CWP не можа рэдагаваць запланаваныя задачы Crontab, вы можаце выкарыстоўваць FTP软件打开 文件 /var/spool/cron/ Непасрэдна рэдагуйце зададзеныя на час задачы Crontab.
Як выкарыстоўваць rclone для рэзервовага капіявання VPS? Калі ласка, перайдзіце па спасылцы ніжэй, каб праглядзець кіраўніцтва па аўтаматычнай сінхранізацыі CentOS з дапамогай GDrive ▼
Спадзяюся, артыкул «Каманды запланаваных задач скрыптоў Linux Crontab і выкарыстанне файла канфігурацыі», апублікаваны ў блогу Чэня Вэйляна ( https://www.chenweiliang.com/ ), будзе вам карысным.
Не саромейцеся падзяліцца спасылкай на гэты артыкул: https://www.chenweiliang.com/cwl-1429.html

