MANPAGES = $(basename $(wildcard *.8.adoc))
-$(warning MANPAGES = $(MANPAGES))
-all: $(MANPAGES)
+all: $(MANPAGES:=.gz)
%.8: %.8.adoc
asciidoctor -bmanpage $<
+
+%.8.gz: %.8
+ gzip $<
+
+clean:
+ rm -f $(MANPAGES) $(MANPAGES:=.gz)
# This is intended to be installed as a cron.hourly script.
#
-#LOGFILE=/var/log/timeliner.log
-#LOCAL=/backup
-#BASE=/backup
-#REMOTE=remote.example.com # needs paswwordless ssh access to root
-#DIRS="/root /etc /home /opt /usr"
+LOCKFILE=/var/lock/timeliner-cron.lock
+LOGFILE="/var/log/timeliner.log"
-[ -z "$DIRS" ] && exit 0 # "not configured yet"
+OPMODE=disabled
+LBASE=/backup
+RBASE=/backup
+REMOTE=backup
+DIRS="/bin /etc /home /opt /root"
-{
- flock -n 1 || exit 0
- timeliner $LOCAL $DIRS && timeliner-backup $REMOTE:$BASE $LOCAL
-} >> $LOGFILE 2>&1
+exec >>$LOGFILE 2>&1
+
+exec 9>$LOCKFILE
+flock -n 9 || exit 0
+
+case "$OPMODE" in
+ remote) # Remote-only backup scheme
+ timeliner $REMOTE:$RBASE $DIRS
+ ;;
+ local) # Local-only backup scheme
+ timeliner $LBASE $DIRS
+ ;;
+ mixed) # Local backup window with remote store
+ timeliner $LBASE $DIRS && timeliner-backup $REMOTE:$RBASE $LBASE
+ ;;
+esac