Skip to main content

Lab 8.3 - Advanced Cron and systemd Timers

Objectives​

  • Use /etc/cron.d
  • Use anacron
  • Create systemd timers

Exercise 1: /etc/cron.d​

# Create a file in cron.d
sudo nano /etc/cron.d/my-task

# Format: minute hour day month day-of-week user command
# * * * * * root /usr/local/bin/script.sh

Exercise 2: systemd Timers​

# Create a service
cat > ~/.config/systemd/user/backup.service << 'EOF'
[Unit]
Description=Backup

[Service]
ExecStart=/home/$USER/backup.sh
EOF

# Create a timer
cat > ~/.config/systemd/user/backup.timer << 'EOF'
[Unit]
Description=Timer Backup

[Timer]
OnCalendar=daily
OnCalendar=02:00

[Install]
WantedBy=timers.target
EOF

# Enable
systemctl --user enable backup.timer
systemctl --user start backup.timer

Lab created on: December 2024 - Tested on Ubuntu 24.04