From 0d6095e64e30e2d77da2ffd12f303b02a0105092 Mon Sep 17 00:00:00 2001 From: Rik Veenboer Date: Sat, 12 Apr 2025 21:03:41 +0200 Subject: [PATCH] fix rsnapshot config --- docker-compose.rsnapshot.yaml | 6 +- rsnapshot/{etc => }/common.conf | 2 +- rsnapshot/docker.conf | 11 + rsnapshot/etc/default.conf | 254 ------------------------ rsnapshot/etc/docker.conf | 10 - rsnapshot/{etc => }/os.conf | 7 +- rsnapshot/{etc => }/users.conf | 9 +- rsnapshot/usr/local/bin/make-snapshot | 2 - rsnapshot/usr/local/bin/merge-snaphosts | 7 - rsnapshot/var/spool/cron/crontabs/root | 9 - 10 files changed, 22 insertions(+), 295 deletions(-) rename rsnapshot/{etc => }/common.conf (90%) create mode 100755 rsnapshot/docker.conf delete mode 100755 rsnapshot/etc/default.conf delete mode 100755 rsnapshot/etc/docker.conf rename rsnapshot/{etc => }/os.conf (89%) rename rsnapshot/{etc => }/users.conf (59%) delete mode 100755 rsnapshot/usr/local/bin/make-snapshot delete mode 100755 rsnapshot/usr/local/bin/merge-snaphosts delete mode 100644 rsnapshot/var/spool/cron/crontabs/root diff --git a/docker-compose.rsnapshot.yaml b/docker-compose.rsnapshot.yaml index 6fec549..49cfbb2 100644 --- a/docker-compose.rsnapshot.yaml +++ b/docker-compose.rsnapshot.yaml @@ -4,10 +4,6 @@ services: image: linuxserver/rsnapshot:1.4.5 restart: unless-stopped volumes: - - /opt/rsnapshot/etc:/etc/rsnapshot - - /opt/rsnapshot/var/log:/var/log - - /opt/rsnapshot/var/run:/var/run - - /opt/rsnapshot/var/spool:/var/spool - - /opt/rsnapshot/usr:/host/usr + - /opt/rsnapshot:/config - /mnt/yotta/xenon/rsnapshot:/host/scratch - /root/.ssh:/root/.ssh:ro diff --git a/rsnapshot/etc/common.conf b/rsnapshot/common.conf similarity index 90% rename from rsnapshot/etc/common.conf rename to rsnapshot/common.conf index 06bee95..b19bf33 100644 --- a/rsnapshot/etc/common.conf +++ b/rsnapshot/common.conf @@ -14,4 +14,4 @@ link_dest 1 stop_on_stale_lockfile 0 -exclude *.snapshot \ No newline at end of file +exclude *.snapshot diff --git a/rsnapshot/docker.conf b/rsnapshot/docker.conf new file mode 100755 index 0000000..89ba694 --- /dev/null +++ b/rsnapshot/docker.conf @@ -0,0 +1,11 @@ +include_conf /config/common.conf + +logfile /host/scratch/docker.log +lockfile /host/scratch/docker.pid + +snapshot_root /host/scratch/docker + +backup root@shuttle:/opt shuttle +backup root@sepia:/opt sepia +backup root@server:/opt server + diff --git a/rsnapshot/etc/default.conf b/rsnapshot/etc/default.conf deleted file mode 100755 index e04b16b..0000000 --- a/rsnapshot/etc/default.conf +++ /dev/null @@ -1,254 +0,0 @@ -################################################# -# rsnapshot.conf - rsnapshot configuration file # -################################################# -# # -# PLEASE BE AWARE OF THE FOLLOWING RULES: # -# # -# This file requires tabs between elements # -# # -# Directories require a trailing slash: # -# right: /home/ # -# wrong: /home # -# # -################################################# - -####################### -# CONFIG FILE VERSION # -####################### - -config_version 1.2 - -########################### -# SNAPSHOT ROOT DIRECTORY # -########################### - -# All snapshots will be stored under this root directory. -# -snapshot_root /var/cache/rsnapshot/ - -# If no_create_root is enabled, rsnapshot will not automatically create the -# snapshot_root directory. This is particularly useful if you are backing -# up to removable media, such as a FireWire or USB drive. -# -#no_create_root 1 - -################################# -# EXTERNAL PROGRAM DEPENDENCIES # -################################# - -# LINUX USERS: Be sure to uncomment "cmd_cp". This gives you extra features. -# EVERYONE ELSE: Leave "cmd_cp" commented out for compatibility. -# -# See the README file or the man page for more details. -# -cmd_cp /bin/cp - -# uncomment this to use the rm program instead of the built-in perl routine. -# -cmd_rm /bin/rm - -# rsync must be enabled for anything to work. This is the only command that -# must be enabled. -# -cmd_rsync /usr/bin/rsync - -# Uncomment this to enable remote ssh backups over rsync. -# -#cmd_ssh /usr/bin/ssh - -# Comment this out to disable syslog support. -# -cmd_logger /usr/bin/logger - -# Uncomment this to specify the path to "du" for disk usage checks. -# If you have an older version of "du", you may also want to check the -# "du_args" parameter below. -# -#cmd_du /usr/bin/du - -# Uncomment this to specify the path to rsnapshot-diff. -# -#cmd_rsnapshot_diff /usr/bin/rsnapshot-diff - -# Specify the path to a script (and any optional arguments) to run right -# before rsnapshot syncs files -# -#cmd_preexec /path/to/preexec/script - -# Specify the path to a script (and any optional arguments) to run right -# after rsnapshot syncs files -# -#cmd_postexec /path/to/postexec/script - -# Paths to lvcreate, lvremove, mount and umount commands, for use with -# Linux LVMs. -# -#linux_lvm_cmd_lvcreate /sbin/lvcreate -#linux_lvm_cmd_lvremove /sbin/lvremove -#linux_lvm_cmd_mount /bin/mount -#linux_lvm_cmd_umount /bin/umount - -######################################### -# BACKUP INTERVALS # -# Must be unique and in ascending order # -# i.e. hourly, daily, weekly, etc. # -######################################### - -retain hourly 6 -retain daily 7 -retain weekly 4 -#retain monthly 3 - -############################################ -# GLOBAL OPTIONS # -# All are optional, with sensible defaults # -############################################ - -# Verbose level, 1 through 5. -# 1 Quiet Print fatal errors only -# 2 Default Print errors and warnings only -# 3 Verbose Show equivalent shell commands being executed -# 4 Extra Verbose Show extra verbose information -# 5 Debug mode Everything -# -verbose 2 - -# Same as "verbose" above, but controls the amount of data sent to the -# logfile, if one is being used. The default is 3. -# -loglevel 3 - -# If you enable this, data will be written to the file you specify. The -# amount of data written is controlled by the "loglevel" parameter. -# -#logfile /var/log/rsnapshot.log - -# If enabled, rsnapshot will write a lockfile to prevent two instances -# from running simultaneously (and messing up the snapshot_root). -# If you enable this, make sure the lockfile directory is not world -# writable. Otherwise anyone can prevent the program from running. -# -lockfile /var/run/rsnapshot.pid - -# By default, rsnapshot check lockfile, check if PID is running -# and if not, consider lockfile as stale, then start -# Enabling this stop rsnapshot if PID in lockfile is not running -# -#stop_on_stale_lockfile 0 - -# Default rsync args. All rsync commands have at least these options set. -# -#rsync_short_args -a -#rsync_long_args --delete --numeric-ids --relative --delete-excluded - -# ssh has no args passed by default, but you can specify some here. -# -#ssh_args -p 22 - -# Default arguments for the "du" program (for disk space reporting). -# The GNU version of "du" is preferred. See the man page for more details. -# If your version of "du" doesn't support the -h flag, try -k flag instead. -# -#du_args -csh - -# If this is enabled, rsync won't span filesystem partitions within a -# backup point. This essentially passes the -x option to rsync. -# The default is 0 (off). -# -#one_fs 0 - -# The include and exclude parameters, if enabled, simply get passed directly -# to rsync. If you have multiple include/exclude patterns, put each one on a -# separate line. Please look up the --include and --exclude options in the -# rsync man page for more details on how to specify file name patterns. -# -#include ??? -#include ??? -#exclude ??? -#exclude ??? - -# The include_file and exclude_file parameters, if enabled, simply get -# passed directly to rsync. Please look up the --include-from and -# --exclude-from options in the rsync man page for more details. -# -#include_file /path/to/include/file -#exclude_file /path/to/exclude/file - -# If your version of rsync supports --link-dest, consider enable this. -# This is the best way to support special files (FIFOs, etc) cross-platform. -# The default is 0 (off). -# -#link_dest 0 - -# When sync_first is enabled, it changes the default behaviour of rsnapshot. -# Normally, when rsnapshot is called with its lowest interval -# (i.e.: "rsnapshot hourly"), it will sync files AND rotate the lowest -# intervals. With sync_first enabled, "rsnapshot sync" handles the file sync, -# and all interval calls simply rotate files. See the man page for more -# details. The default is 0 (off). -# -#sync_first 0 - -# If enabled, rsnapshot will move the oldest directory for each interval -# to [interval_name].delete, then it will remove the lockfile and delete -# that directory just before it exits. The default is 0 (off). -# -#use_lazy_deletes 0 - -# Number of rsync re-tries. If you experience any network problems or -# network card issues that tend to cause ssh to crap-out with -# "Corrupted MAC on input" errors, for example, set this to a non-zero -# value to have the rsync operation re-tried -# -#rsync_numtries 0 - -# LVM parameters. Used to backup with creating lvm snapshot before backup -# and removing it after. This should ensure consistency of data in some special -# cases -# -# LVM snapshot(s) size (lvcreate --size option). -# -#linux_lvm_snapshotsize 100M - -# Name to be used when creating the LVM logical volume snapshot(s). -# -#linux_lvm_snapshotname rsnapshot - -# Path to the LVM Volume Groups. -# -#linux_lvm_vgpath /dev - -# Mount point to use to temporarily mount the snapshot(s). -# -#linux_lvm_mountpath /path/to/mount/lvm/snapshot/during/backup - -############################### -### BACKUP POINTS / SCRIPTS ### -############################### - -# LOCALHOST -backup /home/ localhost/ -backup /etc/ localhost/ -backup /usr/local/ localhost/ -#backup /var/log/rsnapshot localhost/ -#backup /etc/passwd localhost/ -#backup /home/foo/My Documents/ localhost/ -#backup /foo/bar/ localhost/ one_fs=1, rsync_short_args=-urltvpog -#backup_script /usr/local/bin/backup_pgsql.sh localhost/postgres/ -# You must set linux_lvm_* parameters below before using lvm snapshots -#backup lvm://vg0/xen-home/ lvm-vg0/xen-home/ - -# EXAMPLE.COM -#backup_script /bin/date "+ backup of example.com started at %c" unused1 -#backup root@example.com:/home/ example.com/ +rsync_long_args=--bwlimit=16,exclude=core -#backup root@example.com:/etc/ example.com/ exclude=mtab,exclude=core -#backup_script ssh root@example.com "mysqldump -A > /var/db/dump/mysql.sql" unused2 -#backup root@example.com:/var/db/dump/ example.com/ -#backup_script /bin/date "+ backup of example.com ended at %c" unused9 - -# CVS.SOURCEFORGE.NET -#backup_script /usr/local/bin/backup_rsnapshot_cvsroot.sh rsnapshot.cvs.sourceforge.net/ - -# RSYNC.SAMBA.ORG -#backup rsync://rsync.samba.org/rsyncftp/ rsync.samba.org/rsyncftp/ - diff --git a/rsnapshot/etc/docker.conf b/rsnapshot/etc/docker.conf deleted file mode 100755 index 7e25f82..0000000 --- a/rsnapshot/etc/docker.conf +++ /dev/null @@ -1,10 +0,0 @@ -include_conf /etc/rsnapshot/common.conf - -logfile /var/log/docker.log -lockfile /var/run/rsnapshot/docker.pid - -snapshot_root /host/scratch/docker - -backup root@shuttle:/opt shuttle -backup root@sepia:/opt sepia -backup root@server:/opt server \ No newline at end of file diff --git a/rsnapshot/etc/os.conf b/rsnapshot/os.conf similarity index 89% rename from rsnapshot/etc/os.conf rename to rsnapshot/os.conf index f34d689..ace76f5 100755 --- a/rsnapshot/etc/os.conf +++ b/rsnapshot/os.conf @@ -1,7 +1,7 @@ -include_conf /etc/rsnapshot/common.conf +include_conf /config/common.conf -logfile /var/log/os.log -lockfile /var/run/rsnapshot/os.pid +logfile /host/scratch/os.log +lockfile /host/scratch/os.pid snapshot_root /host/scratch/os @@ -35,3 +35,4 @@ exclude /var/lib/docker exclude /var/lib/mlocate exclude /usr/lib/debug exclude /usr/share/locale + diff --git a/rsnapshot/etc/users.conf b/rsnapshot/users.conf similarity index 59% rename from rsnapshot/etc/users.conf rename to rsnapshot/users.conf index 2848201..e7fd4cb 100755 --- a/rsnapshot/etc/users.conf +++ b/rsnapshot/users.conf @@ -1,7 +1,7 @@ -include_conf /etc/rsnapshot/common.conf +include_conf /config/common.conf -logfile /var/log/users.log -lockfile /var/run/rsnapshot/users.pid +logfile /host/scratch/users.log +lockfile /host/scratch/users.pid snapshot_root /host/scratch/users @@ -12,4 +12,5 @@ backup root@sepia:/home sepia backup root@sepia:/root sepia backup root@server:/home server -backup root@server:/root server \ No newline at end of file +backup root@server:/root server + diff --git a/rsnapshot/usr/local/bin/make-snapshot b/rsnapshot/usr/local/bin/make-snapshot deleted file mode 100755 index 63d01d6..0000000 --- a/rsnapshot/usr/local/bin/make-snapshot +++ /dev/null @@ -1,2 +0,0 @@ -#! /bin/bash -/bin/nice -n 19 /bin/ionice -c2 -n7 /usr/bin/rsnapshot -c /etc/rsnapshot/$1.conf $2 diff --git a/rsnapshot/usr/local/bin/merge-snaphosts b/rsnapshot/usr/local/bin/merge-snaphosts deleted file mode 100755 index 8dfb6cf..0000000 --- a/rsnapshot/usr/local/bin/merge-snaphosts +++ /dev/null @@ -1,7 +0,0 @@ -#! /bin/bash -DIR=/host/scratch -echo $DIR -# If the source and destination directories exist then perform the merge -[ -d $DIR/$1/$2 ] && [ -d $DIR/$1/$3/ ] && \ - /bin/cp -al $DIR/$1/$2/* $DIR/$1/$3/ - exit 0 diff --git a/rsnapshot/var/spool/cron/crontabs/root b/rsnapshot/var/spool/cron/crontabs/root deleted file mode 100644 index 205cf85..0000000 --- a/rsnapshot/var/spool/cron/crontabs/root +++ /dev/null @@ -1,9 +0,0 @@ -0 3 * * * /host/usr/local/bin/make-snapshot os daily -0 4 * * 0 /host/usr/local/bin/make-snapshot os weekly -0 5 30 * * /host/usr/local/bin/make-snapshot os monthly -0 3 * * * /host/usr/local/bin/make-snapshot docker daily -0 4 * * 0 /host/usr/local/bin/make-snapshot docker weekly -0 5 30 * * /host/usr/local/bin/make-snapshot docker monthly -0 3 * * * /host/usr/local/bin/make-snapshot users daily -0 4 * * 0 /host/usr/local/bin/make-snapshot users weekly -0 5 30 * * /host/usr/local/bin/make-snapshot users monthly