Creazione di un lavoro Cron personalizzato su Linux
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:
* * * * * command_to_execute
│ │ │ │ │
│ │ │ │ └──── Day of the week (0-7, Sunday = 0 or 7)
│ │ │ └────── Month (1–12)
│ │ └──────── Day of the month (1–31)
│ └────────── Hour (0–23)
└──────────── Minute (0–59)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:


