Linux Crontab regularnie wykonuje polecenia skryptu i ustawia użycie pliku konfiguracyjnego

Wbudowany w Linuksa proces cron może pomóc nam w realizacji potrzeb związanych z wykonywaniem zaplanowanych zadań. Korzystając z crona i skryptów powłoki, możemy łatwo wykonywać bardzo złożone polecenia zadań zgodnie z harmonogramem.

Co to jest Cron?

Często używamy polecenia crontab , co jest skrótem od cron table.

Jest to plik konfiguracyjny dla crona, który można również nazwać listą zadań.

Odpowiednie pliki konfiguracyjne znajdziemy w poniższych folderach.

  • Katalog /var/spool/cron/ przechowuje zadania crontab dla każdego użytkownika, w tym roota, a każde zadanie ma nazwę od twórcy
  • /etc/crontab Ten plik jest odpowiedzialny za planowanie różnych zadań administracyjnych i konserwacyjnych.
  • /etc/cron.d/ Ten katalog jest używany do przechowywania wszelkich plików crontab lub skryptów do wykonania.
  • Możemy również umieścić skrypty w /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly, /etc/cron.monthly, niech uruchamia się co godzinę/dzień/tydzień, miesiąc.

Jak jest używany Crontab?

Nasze najczęściej używane polecenia to:

crontab [-u username]    //省略用户名表示操作当前用户的crontab
    -e      (编辑工作表)
    -l      (列出工作表里的命令)
    -r      (删除工作表)

Używamycrontab -eWprowadź edycję arkusza roboczego bieżącego użytkownika, który jest powszechnym interfejsem vima.Każda linia to polecenie.

Edytuj arkusz roboczy▼

crontab -e

Lista arkuszy roboczych▼

crontab -l

Usuń arkusz roboczy ▼

crontab -r 

Polecenia crontab są skonstruowane w następujący sposób: czas + akcja. Opcje czasu obejmują minuty, godziny, dzień, miesiąc i piątek. Operatorzy obejmują...

  • * wszystkie liczby w zakresie
  • / ile liczb
  • - od X do Z
  • ,numery skrótów

Przykład polecenia wykonania zaplanowanego zadania w programie Crontab

Linux Crontab wykonuje polecenia zaplanowanych zadań i ustawia użycie pliku konfiguracyjnego

Przykład 1: Wykonywanie myCommand co 1 minutę

* * * * * myCommand

Przykład 2: Wykonanie w 3 i 15 minucie każdej godziny

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

Przykład 6: Restartuj kogoś o 21:30 każdej nocy

30 21 * * * /etc/init.d/smb restart

实例7:每月1、10、22日的4 : 45重启smb

45 4 1,10,22 * * /etc/init.d/smb restart

Przykład 8: Restartuj kogoś o 1:10 w każdą sobotę i niedzielę

10 1 * * 6,0 /etc/init.d/smb restart

Przykład 9: Restartuj smb co 18 minut między 00:23 a 00:30 każdego dnia

0,30 18-23 * * * /etc/init.d/smb restart

Przykład 10: Restartuj kogoś w każdą sobotę o 11:00

0 23 * * 6 /etc/init.d/smb restart

Przykład 11: Restartuj kogoś co godzinę

* */1 * * * /etc/init.d/smb restart

Przykład 12: Restartuj kogoś co godzinę między 11:7 a XNUMX rano

* 23-7/1 * * * /etc/init.d/smb restart

Jak usunąć określone zadanie Crontab?

SSH wprowadź następujące polecenie crontab ▼

crontab -e
  • Zakładając wiele zadań, usuń określone zaplanowane zadanie w vim (przesuń kursor do wiersza konfiguracji do usunięcia, naciśnij klawisz usuwania, aby usunąć)

naciśnij :wq Zapisz i wyjdź

Sprawdź, czy zadanie Crontab zostało usunięte?

crontab -l
  • Okazuje się, że zaplanowane zadanie crontab, które właśnie zostało usunięte, nie istnieje, co oznacza, że ​​usunięcie się powiodło.

Jak zrestartować usługę Cron?

Korzystanie z poleceń zarządzania usługami systemowymi : W niektórych przypadkach może zaistnieć konieczność bezpośredniego ponownego uruchomienia usługi cron za pomocą poleceń zarządzania usługami systemowymi.

W szczególności podczas dodawania lub modyfikowania zaplanowanych zadań Cron w HestiaCP należy ponownie uruchomić usługę Cron, aby zmiany zostały zastosowane.

Zwykle obejmuje to jedno z następujących poleceń:

  • Do użytku systemd System:

    sudo systemctl restart cron
    
  • Do użytku init.d Skrypt dla starych systemów:

    sudo /etc/init.d/cron restart
    
  • Do użytku service System dowodzenia:

    sudo service cron restart
    

Panel sterowania CWPJak ustawić zaplanowane zadania Crontab

  • W zaplanowanym zadaniu dodaj polecenie synchronizacji, aby automatycznie synchronizować pliki kopii zapasowych panelu sterowania CWP z GDrive.

Jeśli używasz Panelu Kontrolnego CWP, zaloguj się do Panelu Kontrolnego CWP的 Server Setting → Crontab for root ▼

Jak ustawić zadania czasowe Crontab, aby automatycznie synchronizowały się z GDrive w panelu sterowania CWP?

W „Dodaj pełne niestandardowe zadania Cron” wprowadź następujące w pełni niestandardowe polecenie cron ▼

00 7 * * * rclone sync /backup2 gdrive:cwp-backup2
55 7 * * * rclone sync /newbackup gdrive:cwp-newbackup
  • (Automatycznie synchronizuj katalog lokalny każdego ranka o 7:00) /backup2na dysk sieciowy o nazwie konfiguracyjnej gdrivebackup2Spis treści)
  • (Automatycznie synchronizuj katalog lokalny każdego ranka o 7:55) /newbackup  na dysk sieciowy o nazwie konfiguracyjnej gdrivecwp-newbackupSpis treści)
  • SynchronizowaćWordPressW przypadku plików serwisu WWW nie zaleca się tworzenia przyrostowych kopii zapasowych, ponieważ test wykazał, że jeśli nazwy plików są takie same, ale zawartość plików jest inna, nie zostaną one zsynchronizowane.

Ponieważ proces rclone może nadal działać w tle po zaplanowanym rozpoczęciu automatycznej synchronizacji, może on zużywać do 20% zasobów procesora, co skutkuje marnotrawieniem zasobów serwera.

Dlatego konieczne jest dodanie w pełni dostosowanego polecenia zaplanowanego zadania, aby wymusić zamknięcie procesu rclone ▼

00 09 * * * killall rclone
  • (Automatycznie przymusowo zamknij proces rclone o 7:00 każdego ranka)

Jeśli panel sterowania CWP nie może edytować zaplanowanych zadań Crontab, możesz użyć FTPOprogramowanieotworzyć plik /var/spool/cron/ Edytuj zadania czasowe Crontab bezpośrednio.

Jak utworzyć kopię zapasową serwera VPS za pomocą rclone? Kliknij poniższy link, aby wyświetlić samouczek CentOS dotyczący automatycznej synchronizacji z GDrive ▼

发表 评论

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

Przewiń do góry