Cron jobs that work by hand but not on schedule

Back to list2024-04-01
You

The script runs fine in my shell and does nothing from cron.

ChatGPT

Cron runs with a minimal environment and no profile. Use absolute paths, set PATH at the top of the crontab, and redirect output to a file so the failure has somewhere to appear. Nine times in ten the missing piece is one of those three.

You

rsync of a directory with 2M small files takes forever.

ChatGPT

The bottleneck is per-file syscalls, not bandwidth. tar piped over ssh moves them as a single stream and is often several times faster; rsync becomes the right tool again on the second run, when only the differences matter.