სტატიების დირექტორია
Linux- ის ჩაშენებული cron პროცესი დაგვეხმარება დაგეგმილი დავალებების შესრულების საჭიროებების დაკმაყოფილებაში. cron-ისა და shell სკრიპტების გამოყენებით, ჩვენ შეგვიძლია მარტივად შევასრულოთ ძალიან რთული დავალებების ბრძანებები გრაფიკით.
რა არის კრონი?
ჩვენ ხშირად ვიყენებთ 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 საათამდე
* 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 სამუშაოების დამატება"-ში შეიყვანეთ შემდეგი სრულად მორგებული 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 პროცესი შეიძლება განაგრძოს ფონურ რეჟიმში მუშაობა ავტომატური სინქრონიზაციის დაგეგმილი დაწყების შემდეგ, მას შეუძლია მოიხმაროს CPU რესურსების 20%-მდე, რაც გამოიწვევს სერვერის რესურსების ფლანგვას.
ამიტომ, აუცილებელია სრულად მორგებული დაგეგმილი დავალების ბრძანების დამატება, რათა აიძულოთ rclone პროცესი დახუროს ▼
00 09 * * * killall rclone
- (ავტომატურად იძულებით დახურეთ rclone პროცესი ყოველ დილით 7:00 საათზე)
თუ CWP მართვის პანელს არ შეუძლია Crontab-ის დაგეგმილი ამოცანების რედაქტირება, შეგიძლიათ გამოიყენოთ FTP软件გახსენით ფაილი /var/spool/cron/ შეცვალეთ Crontab დროული ამოცანები პირდაპირ.
როგორ გამოვიყენოთ rclone VPS-ის სარეზერვო ასლის შესაქმნელად? გთხოვთ, დააწკაპუნოთ ქვემოთ მოცემულ ბმულზე, რომ ნახოთ CentOS-ის სახელმძღვანელო ავტომატური სინქრონიზაციის შესახებ GDrive-ის გამოყენებით ▼
იმედია, ჩენ ვეილიანგის ბლოგზე ( https://www.chenweiliang.com/ ) გამოქვეყნებული სტატია „Linux Crontab-ის დაგეგმილ სკრიპტზე დავალებების ბრძანებები და კონფიგურაციის ფაილის გამოყენება“ თქვენთვის სასარგებლო იქნება.
თავისუფლად გაგვიზიარეთ ამ სტატიის ბმული: https://www.chenweiliang.com/cwl-1429.html

