# Crontab Hilfe # * * * * * # | | | | | # | | | | +---- Wochentag (0-7) (Sonntag =0 oder =7) # | | | +------ Monat (1-12) # | | +-------- Tag (1-31) # | +---------- Stunde (0-23) # +------------ Minute (0-59) # Beispiele # Jeden Tag ausser Sonntag, jede Stunde zw. 04:30 bis 20:30h: Wenn Datei existiert nix machen, ansonsten Script starten (Benutzung von Variable "date") 30 4-20 * * 1,2,3,4,5,6 [ -f /mnt/autofs/logs/file_$(date +"\%Y\%m\%d").log ] && echo "File found" || echo "File not found" && /mnt/autofs/jobs/scripts.sh -> /tmp/dl.log # Ausgabe ins Nirvana schicken * * * * * /var/scripts/batch.sh > /dev/null 2>&1 # Crontab einmalig, dieser wird nach dem ausführen gelöscht 1 2 * * * /var/scripts/bla.sh ; crontab -l | grep -v DELETEME-001 | crontab # Installierte Pakete täglich in Datei schreiben 3 3 * * * /usr/bin/dpkg --get-selections > packages_installed # Proxmox VM starten, wenn VM Status: stopped (Wochentage: Mo-Fr) 22 7 * * 1-5 /usr/sbin/qm status 100 | grep "stopped" > /dev/null && /usr/sbin/qm start 100 # Loesche Dateien (*.log) älter als 14 Tage, täglich um 12:00 Uhr 0 12 * * * find /path/*.log -type f -mtime +14 -delete # Jeden ersten Sonntag im Monat um 5 Uhr 0 5 1-7 * * [ $(date +\%u) -eq 0 ] && rsnapshot monthly 2>&1 | mail -s "Backup: RSnapshot monthly [hostname]" admin@domain.net > /dev/null 2>&1 ## SO FUNKTIONIERT ES ! # Proxmox VM 123, jeden 3. Donnerstag um 15:45 starten 45 15 21-27 * * [ $(date +\%u) -eq 4 ] && /usr/sbin/qm status 123 | grep "stopped" > /dev/null && /usr/sbin/qm start 123