Linux Crontab რეგულარულად ახორციელებს სკრიპტის დავალების ბრძანებებს და ადგენს კონფიგურაციის ფაილის გამოყენებას

სტატიების დირექტორია

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 შეასრულოს დაგეგმილი დავალების ბრძანების მაგალითი

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 საათამდე

* 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 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 პროცესი შეიძლება განაგრძოს ფონურ რეჟიმში მუშაობა ავტომატური სინქრონიზაციის დაგეგმილი დაწყების შემდეგ, მას შეუძლია მოიხმაროს 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

მეტი ფარული ხრიკის გასახსნელად🔑, კეთილი იყოს თქვენი მობრძანება ჩვენს Telegram არხზე!

გააზიარეთ და მოიწონეთ თუ მოგეწონათ! თქვენი გაზიარებები და მოწონებები ჩვენი მუდმივი მოტივაციაა!

 

评论

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

გადაახვიეთ ზემოთ