===== crontab ===== ==== IO redirect ==== redirect all error output to a file, ''&>> /tmp/whatever.log'' isn't support by ''sh'', so use command below instead: 12 * * * * /opt/homebrew/bin/brew update >> /tmp/brew.log 2>&1 20 */3 * * * /opt/homebrew/bin/rsync -a -O --delete /Users/dcai/Downloads /Volumes/JUPITER/backups/duck/ >> /tmp/backup.log 2>&1 30 */3 * * * /opt/homebrew/bin/rsync -a -O --delete /Users/dcai/Dropbox /Volumes/JUPITER/backups/duck/ >> /tmp/backup.log 2>&1 40 */3 * * * /opt/homebrew/bin/rsync -a -O --delete /Users/dcai/Music /Volumes/JUPITER/backups/duck/ >> /tmp/backup.log 2>&1 50 */3 * * * /opt/homebrew/bin/rsync -a -O --delete --exclude "node_modules" /Users/dcai/src /Volumes/JUPITER/backups/duck/ >> /tmp/backup.log 2>&1 01 */1 * * * /usr/bin/curl 'wttr.in/Sydney?format=%l:+%c+%f' > /tmp/weather.info Adding -O / --omit-dir-times to avoid setting times on directories (which causes errors in ntfs)