The problem#
My system for automatically posting future-dated blog posts mysteriously stopped working recently. The posts would appear if I manually published the blog, but not with the automatic scheduling mechanism.
The solution#
In schedule_publish.sh
, I changed the line
echo "$0" | at -q g $time
to
if [ "$(date -d "$time PST" +'%s')" -ge "$now" ]
then
echo "$0" | at -q g -t "$(date +'%Y%m%d%H%M' -d "$time PST")"
fi
(where "PST
" is the timezone of this blog; adjust as appropriate for
your blog).
$now
is initialized with
now="$(date +'%s')"
before the call to make publish
to avoid a race condition.