Creare un lavoro Cron personalizzato su Linux
L’automazione delle attività di routine è essenziale in qualsiasi flusso di lavoro di amministrazione di sistema o di sviluppo web. I job di Cron forniscono un potente job scheduler basato sul tempo nei sistemi operativi Unix-like, consentendo di eseguire automaticamente script o comandi a intervalli pianificati.
Che cos’è un lavoro Cron?
Un cron job è un’attività pianificata definita nella crontab (tabella cron) del sistema che esegue comandi o script a orari o intervalli specifici. Cron è molto utilizzato perché è:
Leggero
Altamente personalizzabile
Integrato nella maggior parte delle distribuzioni Linux
Casi d’uso comuni
Backup giornalieri o settimanali del database
Esecuzione di script PHP/Python
Rotazione dei log e pulizia dei file temporanei
Invio di e-mail programmate
Aggiornamento delle cache dei dati o sincronizzazione dei file
Passo 1: Accedere a Crontab
Per modificare il crontab del vostro utente (senza accesso root):
Passo 2: Sintassi di Cron
Ogni cron job utilizza il seguente formato:
Esempio: Eseguire uno script ogni giorno alle 2 del mattino
Passo 3: Creare uno script personalizzato
Supponiamo di voler eseguire uno script Python personalizzato. Per prima cosa, create il file:
Esempio di script:
#!/usr/bin/env python3
import os
import datetime
log_dir = "/var/log/myapp"
threshold = 7 # days
now = datetime.datetime.now()
for filename in os.listdir(log_dir):
filepath = os.path.join(log_dir, filename)
if os.path.isfile(filepath):
file_age = now - datetime.datetime.fromtimestamp(os.path.getmtime(filepath))
if file_age.days > threshold:
os.remove(filepath)
Rendere lo script eseguibile:
Passo 4: Aggiungere il lavoro Cron
Modificare il crontab e aggiungere:
Questo:
Esegue lo script ogni giorno all’1:00 AM
Registra l’output in /var/log/cleanup.log
Casi d’uso esemplificativi
eseguire ogni 10 minuti
eseguire solo il lunedì alle 3 del mattino
Disabilitare o rimuovere un lavoro Cron
Disattivare temporaneamente una riga commentandola con #.
Per rimuovere tutti i lavori:
I cron job personalizzati sono un potente strumento di automazione, manutenzione e affidabilità. Che si tratti della gestione di una VPS personale, dell’implementazione di script di backend o dell’esecuzione di carichi di lavoro di produzione, la padronanza di cron consente di controllare quando e come vengono eseguite le attività, senza alcuno sforzo.


