Linux Crontab рэгулярна выконвае каманды задач сцэнарыяў і ўсталёўвае выкарыстанне файла канфігурацыі

Убудаваны працэс 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

Linux 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 SettingCrontab for root ▼

Як наладзіць аўтаматычную сінхранізацыю заданняў Crontab з GDrive на панэлі кіравання CWP?

У «Дадаць поўныя карыстальніцкія заданні 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

Каб адкрыць больш схаваных хітрасцяў🔑, далучайцеся да нашага канала ў Telegram!

Падзяліцеся і пастаўце лайкі, калі вам гэта падабаецца! Вашы акцыі і лайкі - наша пастаянная матывацыя!

 

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Пракрутка да пачатку