Როგორ რედაქტირება Linux Crontab ფაილი განრიგის ვაკანსიები

შესავალი

არსებობს დემენი Linux- ში, რომელიც გამოიყენება რეგულარული ინტერვალებით პროცესების გასაშვებად.

ასე რომ, ეს ასეა, რომ სისტემაში გარკვეული საქაღალდეების შემოწმება სკრიპტების გასაშვებად. მაგალითად არის საქაღალდე, რომელსაც ეწოდება /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly და /etc/cron.monthly. არსებობს ასევე ფაილი მოუწოდა / etc / crontab.

ჩვეულებრივ შეგიძლიათ უბრალოდ მოათავსოთ სკრიპტები შესაბამის საქაღალდეებში, რათა მათ მიიღონ რეგულარული ინტერვალი.

მაგალითად გახსენით ტერმინალის ფანჯარა (CTRL, ALT და T- ის დაჭერით) და აწარმოეთ შემდეგი ls ბრძანება :

ls / etc / cron *

დაინახავთ პროგრამების ან სკრიპტების ჩამონათვალს, რომელიც აწარმოებს საათობრივ, ყოველდღიურად, ყოველკვირეულად და ყოველთვიურად.

უბედურება ამ ფოლდერები ის არის, რომ ისინი ცოტა ბუნდოვანია. მაგალითად ყოველდღიურად გულისხმობს, რომ სკრიპტი დღეში ერთხელ იმოძრავებს, მაგრამ იმ დროისთვის არ არის კონტროლი, რომ სკრიპტი იმ დღეს შესრულდება.

ეს არის სადაც crontab ფაილი მოდის შემოსული

რედაქტირება cronab ფაილი შეგიძლიათ სკრიპტი ან პროგრამა გასაშვებად ზუსტი თარიღი და დრო, რომ თქვენ უნდა აწარმოებს. მაგალითად, შესაძლოა, გნებავთ სარეზერვო თქვენი ფაილი ყოველ საღამოს 6 საათზე.

ნებართვები

Crontab ბრძანება მოითხოვს, რომ მომხმარებელს უფლება აქვს შეცვალოს cronab ფაილი. არსებობს ძირითადად ორი ფაილი, რომელიც გამოიყენება crontab ნებართვების მართვაზე:

თუ ფაილი /etc/cron.allow არსებობს, მაშინ მომხმარებლის სასურველი ფაილი cronab ფაილი უნდა იყოს. თუ cron.allow ფაილი არ არსებობს, მაგრამ არსებობს /etc/cron.deny ფაილი მაშინ მომხმარებელი არ უნდა იყოს ამ ფაილში.

თუ ორივე ფაილი არსებობს მაშინ /etc/cron.allow overrides /etc/cron.deny ფაილი.

თუ არცერთი ფაილი არ არსებობს, ეს დამოკიდებულია სისტემის კონფიგურაციის შესახებ თუ მომხმარებელს შეუძლია შეცვალოს crontab.

ძირეულ მომხმარებელს შეუძლია ყოველთვის შეცვალოს cronab ფაილი. თქვენ შეგიძლიათ გამოიყენოთ su ბრძანება გადართოთ root მომხმარებლის ან sudo ბრძანება გასაშვებად crontab ბრძანება.

რედაქტირება Crontab ფაილი

თითოეულ მომხმარებელს, რომელსაც აქვს უფლება, შეუძლია შექმნას საკუთარი Cronab ფაილი. Cron ბრძანება ძირითადად გამოიყურება მრავალი crontab ფაილი არსებობისთვის და გადის მათ ყველა.

შეამოწმეთ თუ არა გაქვთ crontab ფაილი შემდეგი ბრძანების:

crontab -l

თუ არ გაქვთ crontab ფაილი გაგზავნა "არ არის cronab for yourname>" გამოჩნდება სხვაგვარად თქვენი crontab ფაილი გამოჩნდება (ეს ფუნქცია განსხვავდება სისტემაში სისტემაში, ზოგჯერ ეს არ აჩვენებს არაფერს და სხვა ჯერ ის აჩვენებს, " არ შეცვალოთ ეს ფაილი ").

Crontab ფაილის შესაქმნელად ან რედაქტირებისათვის შემდეგი ბრძანება:

crontab -e

იმ შემთხვევაში, თუ არ არის ნაგულისხმევი რედაქტორი არჩეული, მაშინ მოგეთხოვებათ გამოვიყენოთ ნაგულისხმევი რედაქტორი. პირადად მე მინდა გამოიყენო ნანო, რადგან ეს საკმაოდ სწორია და ის ტერმინალისგან გადის.

ფაილი, რომელიც იხსნება ბევრი ინფორმაცია, მაგრამ ძირითადი ნაწილი არის მაგალითი მხოლოდ დასასრულს კომენტარები განყოფილება (კომენტარები აღინიშნება ხაზები დაწყებული #).

# mh dom mon dow ბრძანება

0 5 * * 1 tar -zcf /var / backups / home.tgz / home /

არსებობს 6 ცალი ინფორმაცია, რათა შეესაბამებოდეს თითოეული ხაზი Cronab ფაილი:

თითოეულ პუნქტზე (გარდა ბრძანებისა) შეგიძლიათ მიუთითოთ უცნაური სიმბოლო. შეხედეთ შემდეგ მაგალითს:

30 18 * * * tar -zcf /var/backups/home.tgz / home /

რა ზემოთ ბრძანება ამბობს, არის 30 წუთი, 18 საათი და ნებისმიერი დღე, თვე და დღე კვირაში გაუშვით ბრძანება zip და tar მთავარი დირექტორია / var / backups საქაღალდეში.

იმისათვის რომ მიიღოთ ბრძანება, ყოველ საათში 30 წუთის განმავლობაში აწარმოებს შემდეგ ბრძანებას:

30 * * * ბრძანება

იმისათვის, რომ მიიღოთ ბრძანება, ყოველ წუთს 6 წუთში აწარმოებს შემდეგ ბრძანებას:

* 18 * * * ბრძანება

ამიტომ თქვენ უნდა ფრთხილად შექმნას თქვენი crontab ბრძანებები.

მაგალითად:

* * * 1 * ბრძანება

აღნიშნული ბრძანება ყოველ იანვრიდან ყოველ კვირას ყოველ საათს ყოველ წუთს აწარმოებს. ეჭვი მეპარება, რომ ის რაც გინდა.

ბრძანება აეღო 5 იანვარს, 1 იანვარს, შემდეგ ბრძანებას Cronab ფაილი:

0 5 1 1 * ბრძანება

როგორ ამოიღოთ Crontab ფაილი

უმეტეს შემთხვევაში თქვენ არ გსურთ ამოიღოთ crontab ფაილი, მაგრამ დაგვჭირდება გარკვეული სტრიქონების წაშლა crontab ფაილიდან.

თუმცა, თუ გსურთ თქვენი მომხმარებლის Cronab ფაილი ამოიღონ შემდეგი ბრძანება:

crontab -r

ამის გაკეთება უფრო უსაფრთხო გზაა შემდეგი ბრძანების გასაშვებად:

crontab -i

ეს სვამს კითხვას "დარწმუნებული ხართ?" crontab ფაილების წაშლამდე.