Article Directory
Linux'тун орнотулган cron процесси бизге пландаштырылган тапшырмаларды аткаруу муктаждыктарыбызды канааттандырууга жардам берет. cron жана shell скрипттерин колдонуу менен биз абдан татаал тапшырма буйруктарын график боюнча оңой аткара алабыз.
Cron деген эмне?
Биз көбүнчө crontab буйругун колдонобуз, ал cron таблицасынын кыскартылышы.
Бул cron үчүн конфигурация файлы, аны жумуш тизмеси деп да атоого болот.
Тиешелүү конфигурация файлдарын төмөнкү папкалардан таба алабыз.
- /var/spool/cron/ каталогу ар бир колдонуучу үчүн 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до кайра иштетиңиз
10 1 * * 6,0 /etc/init.d/smb restart
Мисал 9: Күн сайын саат 18:00дөн 23:00гө чейин ар бир 30 мүнөт сайын смбди кайра баштаңыз
0,30 18-23 * * * /etc/init.d/smb restart
10-мисал: Ишемби сайын саат 11:00дө кайра баштаңыз
0 23 * * 6 /etc/init.d/smb restart
Мисал 11: Smb ар бир саат сайын кайра баштаңыз
* */1 * * * /etc/init.d/smb restart
12-мисал: 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 кызматын кайра баштоо үчүн түздөн-түз системалык кызматты башкаруу буйруктарын колдонуу керек болушу мүмкүн.
Атап айтканда, 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 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

