Directory articoli
Il processo cron integrato in Linux può aiutarci a soddisfare le nostre esigenze di esecuzione di attività pianificate. Utilizzando cron e script di shell, possiamo eseguire facilmente comandi complessi secondo una pianificazione prestabilita.
Cos'è Cron?
Spesso utilizziamo il comando crontab , abbreviazione di cron table.
È il file di configurazione per cron, che può anche essere chiamato l'elenco dei lavori.
Possiamo trovare i file di configurazione rilevanti nelle seguenti cartelle.
- La directory /var/spool/cron/ memorizza le attività crontab per ogni utente incluso root e ogni attività prende il nome dal creatore
- /etc/crontab Questo file è responsabile della pianificazione di varie attività amministrative e di manutenzione.
- /etc/cron.d/ Questa directory viene utilizzata per memorizzare qualsiasi file crontab o script da eseguire.
- Possiamo anche inserire script in /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly, /etc/cron.monthly directory, lascia che venga eseguito ogni ora/giorno/settimana, mese.
Come si usa Crontab?
I nostri comandi comunemente usati sono i seguenti:
crontab [-u username] //省略用户名表示操作当前用户的crontab
-e (编辑工作表)
-l (列出工作表里的命令)
-r (删除工作表)noi usiamocrontab -eImmettere la modifica del foglio di lavoro dell'utente corrente, che è un'interfaccia vim comune.Ogni riga è un comando.
Modifica foglio di lavoro▼
crontab -e
Elenca fogli di lavoro▼
crontab -l
Elimina foglio di lavoro ▼
crontab -r
I comandi di crontab sono strutturati come tempo + azione. Le opzioni di tempo includono minuti, ore, giorno, mese e venerdì. Gli operatori includono...
- * tutti i numeri nell'intervallo
- / quanti numeri
- - dalla X alla Z
- ,numeri hash
Esempio di comando per l'esecuzione di attività pianificate di Crontab

Esempio 1: esegui myCommand ogni 1 minuto
* * * * * myCommand
Esempio 2: Esecuzione al 3° e 15° minuto di ogni ora
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
Esempio 6: Riavvia smb alle 21:30 ogni notte
30 21 * * * /etc/init.d/smb restart
实例7:每月1、10、22日的4 : 45重启smb
45 4 1,10,22 * * /etc/init.d/smb restart
Esempio 8: riavvia smb alle 1:10 ogni sabato e domenica
10 1 * * 6,0 /etc/init.d/smb restart
Esempio 9: riavvia smb ogni 18 minuti tra le 00:23 e le 00:30 tutti i giorni
0,30 18-23 * * * /etc/init.d/smb restart
Esempio 10: riavvia smb ogni sabato alle 11:00
0 23 * * 6 /etc/init.d/smb restart
Esempio 11: riavvia smb ogni ora
* */1 * * * /etc/init.d/smb restart
Esempio 12: riavvia smb ogni ora tra le 11:7 e le XNUMX:XNUMX
* 23-7/1 * * * /etc/init.d/smb restart
Come eliminare l'attività Crontab specificata?
SSH inserisci il seguente comando crontab ▼
crontab -e
- Assumendo più attività, elimina l'attività pianificata specificata in vim (sposta il cursore sulla riga di configurazione da eliminare, premi il tasto cancella per eliminare)
按 :wq salva ed esci
Verificare se l'attività Crontab è stata eliminata?
crontab -l
- Si scopre che l'attività pianificata crontab che è stata appena eliminata non esiste, il che significa che l'eliminazione è riuscita.
Come riavviare il servizio Cron?
Utilizzo dei comandi di gestione dei servizi di sistema : in alcuni casi, potrebbe essere necessario utilizzare direttamente i comandi di gestione dei servizi di sistema per riavviare il servizio cron.
In particolare, quando si aggiungono o si modificano attività pianificate da Cron in HestiaCP , è necessario riavviare il servizio Cron affinché le modifiche abbiano effetto.
Questo di solito comporta uno dei seguenti comandi:
Per uso
systemdSistema:sudo systemctl restart cronPer uso
init.dScript per vecchi sistemi:sudo /etc/init.d/cron restartPer uso
serviceSistema di comando:sudo service cron restart
Pannello di controllo CWPCome impostare le attività pianificate di Crontab
- Nell'attività pianificata, aggiungi un comando di sincronizzazione per sincronizzare automaticamente i file di backup del pannello di controllo CWP su GDrive.
Se si utilizza il Pannello di controllo CWP, accedere al Pannello di controllo CWP的 Server Setting → Crontab for root ▼

In "Aggiungi lavori Cron personalizzati completi", inserisci il seguente comando cron completamente personalizzato ▼
00 7 * * * rclone sync /backup2 gdrive:cwp-backup2 55 7 * * * rclone sync /newbackup gdrive:cwp-newbackup
- (Sincronizza automaticamente la directory locale ogni mattina alle 7:00
/backup2sul disco di rete con il nome di configurazione gdrivebackup2Sommario) - (Sincronizza automaticamente la directory locale ogni mattina alle 7:55
/newbackupsul disco di rete con il nome di configurazione gdrivecwp-newbackupSommario) - Stesso passoWordPressPer i file di siti Web, si consiglia di non eseguire il backup in modo incrementale, poiché il test ha rilevato che se i nomi dei file sono gli stessi, ma i contenuti dei file sono diversi, non verranno sincronizzati.
Poiché il processo rclone può continuare a essere eseguito in background anche dopo l'avvio programmato della sincronizzazione automatica , può consumare fino al 20% delle risorse della CPU, con conseguente spreco di risorse del server.
Pertanto, è necessario aggiungere un comando di attività pianificata completamente personalizzato per forzare la chiusura del processo rclone ▼
00 09 * * * killall rclone
- (Chiudere forzatamente il processo rclone ogni mattina alle 7:00)
Se il pannello di controllo di CWP non è in grado di modificare le attività pianificate di Crontab, è possibile utilizzare FTPsoftwareaprire un file /var/spool/cron/ Modifica direttamente le attività a tempo di Crontab.
Come utilizzare rclone per eseguire il backup di un VPS? Fai clic sul link qui sotto per visualizzare il tutorial di CentOS sulla sincronizzazione automatica tramite Google Drive ▼
Spero che l'articolo "Linux Crontab Scheduled Script Task Commands & Configuration File Usage" condiviso sul blog di Chen Weiliang ( https://www.chenweiliang.com/ ) possa esservi utile.
Sentitevi liberi di condividere il link di questo articolo: https://www.chenweiliang.com/cwl-1429.html

