On Oct 8, 2014, at 4:23 PM, Duane Hill <duih...@gmail.com> wrote: > > No. && is a way of chaining commands together. Your cron says run > sa-update and then restart spamd. In other words, when sa-update > finishes running, regardless if there was an update applied or not, > restart spamd.
Unless I am mistaken, I believe this is not correct. On *nix systems, && is the logical "and" operator, and it can be used to chain commands as dependencies. && short-circuits on failure, so if the first command returns zero, the "and" would fail and the second command never runs. The second command is only evaluated if the first returns non-zero ("true"). Hence, spamd is restarted only if sa-update actually loads an update, and not otherwise. This is the same reason why you can also see commands like: do_this || die in perl scripts, because the logical "or" operator || will short-circuit on success, hence the "fallback" command never gets run if the first one succeeded.