Quick server update

And here is the moment we’ve all been waiting for … every single site on this server is now served by Nginx.  Of course, there is Apache behind for now to smooth out the migration, but The World Domination is right around the corner.

P.S.: Placeholder websites are served by another instance of Nginx, which runs inside an OpenVZ virtual machine.

P.P.S.: Can anybody make any sense out if it?

3 things to remember when writing cron jobs

Here is a reminder to myself with three things to remember when writing cron jobs.  Surprisingly, even after doing it fairly frequently for years and years, I still get caught by one of these once in a while.

  1. User.  Just because the script is working fine under your user, it doesn’t mean it will work well from crontab.  Cron jobs are often executed under a different user account.   Check, don’t assume.  And be noisy about permissions and other possibly related issues.
  2. Environment.  This is slightly related to the previous point.  But just because something works fine from the command line, doesn’t mean it will run smoothly as a cron task.  Anything that requires particular environment variables, user input, or being executed in a specific directory should be double checked.
  3. Duration.  Cron executes tasks on schedule.  It doesn’t really care if the previous instances finished running.  So, either make sure the script can run several instances simultaneously, or using a locking mechanism, to make sure two instances don’t step on each other’s toes.