Fix cron with multiple profiles
This commit is contained in:
@@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
#### Non-file targets #########################################################
|
#### Non-file targets #########################################################
|
||||||
.PHONY: all help clean uninstall \
|
.PHONY: all help clean uninstall \
|
||||||
install install-scripts install-conf install-systemd
|
install install-scripts install-conf install-systemd install-cron
|
||||||
|
|
||||||
#### Macros ###################################################################
|
#### Macros ###################################################################
|
||||||
NOW := $(shell date +%Y-%m-%d_%H:%M:%S)
|
NOW := $(shell date +%Y-%m-%d_%H:%M:%S)
|
||||||
@@ -40,11 +40,13 @@ MKDIR_PARENTS=sh -c '\
|
|||||||
DIR_SCRIPT = sbin
|
DIR_SCRIPT = sbin
|
||||||
DIR_CONF = etc/restic
|
DIR_CONF = etc/restic
|
||||||
DIR_SYSTEMD = usr/lib/systemd/system
|
DIR_SYSTEMD = usr/lib/systemd/system
|
||||||
|
DIR_CRON = etc/cron.d
|
||||||
|
|
||||||
# Source files.
|
# Source files.
|
||||||
SRCS_SCRIPT = $(filter-out %cron_mail, $(wildcard $(DIR_SCRIPT)/*))
|
SRCS_SCRIPT = $(filter-out %cron_mail, $(wildcard $(DIR_SCRIPT)/*))
|
||||||
SRCS_CONF = $(wildcard $(DIR_CONF)/*)
|
SRCS_CONF = $(wildcard $(DIR_CONF)/*)
|
||||||
SRCS_SYSTEMD = $(wildcard $(DIR_SYSTEMD)/*)
|
SRCS_SYSTEMD = $(wildcard $(DIR_SYSTEMD)/*)
|
||||||
|
SRCS_CRON = $(wildcard $(DIR_CRON)/*)
|
||||||
|
|
||||||
# Local build directory. Sources will be copied here,
|
# Local build directory. Sources will be copied here,
|
||||||
# modified and then installed from this directory.
|
# modified and then installed from this directory.
|
||||||
@@ -52,23 +54,28 @@ BUILD_DIR := build
|
|||||||
BUILD_DIR_SCRIPT = $(BUILD_DIR)/$(DIR_SCRIPT)
|
BUILD_DIR_SCRIPT = $(BUILD_DIR)/$(DIR_SCRIPT)
|
||||||
BUILD_DIR_CONF = $(BUILD_DIR)/$(DIR_CONF)
|
BUILD_DIR_CONF = $(BUILD_DIR)/$(DIR_CONF)
|
||||||
BUILD_DIR_SYSTEMD = $(BUILD_DIR)/$(DIR_SYSTEMD)
|
BUILD_DIR_SYSTEMD = $(BUILD_DIR)/$(DIR_SYSTEMD)
|
||||||
|
BUILD_DIR_CRON = $(BUILD_DIR)/$(DIR_CRON)
|
||||||
|
|
||||||
# Sources copied to build directory.
|
# Sources copied to build directory.
|
||||||
BUILD_SRCS_SCRIPT = $(addprefix $(BUILD_DIR)/, $(SRCS_SCRIPT))
|
BUILD_SRCS_SCRIPT = $(addprefix $(BUILD_DIR)/, $(SRCS_SCRIPT))
|
||||||
BUILD_SRCS_CONF = $(addprefix $(BUILD_DIR)/, $(SRCS_CONF))
|
BUILD_SRCS_CONF = $(addprefix $(BUILD_DIR)/, $(SRCS_CONF))
|
||||||
BUILD_SRCS_SYSTEMD = $(addprefix $(BUILD_DIR)/, $(SRCS_SYSTEMD))
|
BUILD_SRCS_SYSTEMD = $(addprefix $(BUILD_DIR)/, $(SRCS_SYSTEMD))
|
||||||
|
BUILD_SRCS_CRON = $(addprefix $(BUILD_DIR)/, $(SRCS_CRON))
|
||||||
|
|
||||||
# Destination directories
|
# Destination directories
|
||||||
DEST_DIR_SCRIPT = $(PREFIX)/$(DIR_SCRIPT)
|
DEST_DIR_SCRIPT = $(PREFIX)/$(DIR_SCRIPT)
|
||||||
DEST_DIR_CONF = $(PREFIX)/$(DIR_CONF)
|
DEST_DIR_CONF = $(PREFIX)/$(DIR_CONF)
|
||||||
DEST_DIR_SYSTEMD = $(PREFIX)/$(DIR_SYSTEMD)
|
DEST_DIR_SYSTEMD = $(PREFIX)/$(DIR_SYSTEMD)
|
||||||
|
DEST_DIR_CRON = $(PREFIX)/$(DIR_CRON)
|
||||||
|
|
||||||
# Destination file targets.
|
# Destination file targets.
|
||||||
DEST_TARGS_SCRIPT = $(addprefix $(PREFIX)/, $(SRCS_SCRIPT))
|
DEST_TARGS_SCRIPT = $(addprefix $(PREFIX)/, $(SRCS_SCRIPT))
|
||||||
DEST_TARGS_CONF = $(addprefix $(PREFIX)/, $(SRCS_CONF))
|
DEST_TARGS_CONF = $(addprefix $(PREFIX)/, $(SRCS_CONF))
|
||||||
DEST_TARGS_SYSTEMD = $(addprefix $(PREFIX)/, $(SRCS_SYSTEMD))
|
DEST_TARGS_SYSTEMD = $(addprefix $(PREFIX)/, $(SRCS_SYSTEMD))
|
||||||
|
DEST_TARGS_CRON = $(addprefix $(PREFIX)/, $(SRCS_CRON))
|
||||||
|
|
||||||
INSTALLED_FILES = $(DEST_TARGS_SCRIPT) $(DEST_TARGS_CONF) $(DEST_TARGS_SYSTEMD)
|
INSTALLED_FILES = $(DEST_TARGS_SCRIPT) $(DEST_TARGS_CONF) \
|
||||||
|
$(DEST_TARGS_SYSTEMD) $(DEST_TARGS_CRON)
|
||||||
|
|
||||||
|
|
||||||
#### Targets ##################################################################
|
#### Targets ##################################################################
|
||||||
@@ -106,6 +113,8 @@ install-scripts: $(DEST_TARGS_SCRIPT) $(BUILD_SRCS_SCRIPT)
|
|||||||
install-conf: $(DEST_TARGS_CONF) $(BUILD_SRCS_CONF)
|
install-conf: $(DEST_TARGS_CONF) $(BUILD_SRCS_CONF)
|
||||||
# target: install-systemd - Install systemd timer and service files.
|
# target: install-systemd - Install systemd timer and service files.
|
||||||
install-systemd: $(DEST_TARGS_SYSTEMD) $(BUILD_SRCS_SYSTEMD)
|
install-systemd: $(DEST_TARGS_SYSTEMD) $(BUILD_SRCS_SYSTEMD)
|
||||||
|
# target: install-cron - Install cronjob.
|
||||||
|
install-cron: $(DEST_TARGS_CRON) $(BUILD_SRCS_CRON)
|
||||||
|
|
||||||
# Copies sources to build directory & replace "$INSTALL_PREFIX".
|
# Copies sources to build directory & replace "$INSTALL_PREFIX".
|
||||||
$(BUILD_DIR)/% : %
|
$(BUILD_DIR)/% : %
|
||||||
@@ -127,3 +136,8 @@ $(DEST_DIR_CONF)/%: $(BUILD_DIR_CONF)/%
|
|||||||
$(DEST_DIR_SYSTEMD)/%: $(BUILD_DIR_SYSTEMD)/%
|
$(DEST_DIR_SYSTEMD)/%: $(BUILD_DIR_SYSTEMD)/%
|
||||||
${MKDIR_PARENTS} $@
|
${MKDIR_PARENTS} $@
|
||||||
install -m 0644 $< $@
|
install -m 0644 $< $@
|
||||||
|
|
||||||
|
# Install destination cron files.
|
||||||
|
$(DEST_DIR_CRON)/%: $(BUILD_DIR_CRON)/%
|
||||||
|
${MKDIR_PARENTS} $@
|
||||||
|
install -m 0644 $< $@
|
||||||
|
|||||||
+2
-2
@@ -4,5 +4,5 @@ PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin/:$INSTALL_PREFIX/sbin/
|
|||||||
# minute hour mday month wday command
|
# minute hour mday month wday command
|
||||||
# Reference: https://www.freebsd.org/doc/handbook/configtuning-cron.html
|
# Reference: https://www.freebsd.org/doc/handbook/configtuning-cron.html
|
||||||
# Reference: crontab(5).
|
# Reference: crontab(5).
|
||||||
@midnight root cron_mail restic_backup.sh
|
@midnight root . $INSTALL_PREFIX/etc/restic/default.sh && cron_mail restic_backup.sh
|
||||||
@monthly root cron_mail restic_check.sh
|
@monthly root . $INSTALL_PREFIX/etc/restic/default.sh && cron_mail restic_check.sh
|
||||||
|
|||||||
Reference in New Issue
Block a user