linuxserver.io Posted September 27, 2020 Share Posted September 27, 2020 Application Name: Rsnapshot Application Site: https://www.rsnapshot.org/ Docker Hub: https://hub.docker.com/r/linuxserver/rsnapshot/ Github: https://github.com/linuxserver/docker-rsnapshot Please post any questions/issues relating to this docker you have in this thread. If you are not using Unraid (and you should be!) then please do not post here, rather use the linuxserver.io forum for support. 1 Quote Link to comment
nerbonne Posted October 18, 2020 Share Posted October 18, 2020 First post, weee. Any idea why I'm getting this error. The folder does exist. ERROR: backup /mnt/user/Private/ localhost/ - Source directory \ "/mnt/user/Private/" doesn't exist Quote Link to comment
saarg Posted October 18, 2020 Share Posted October 18, 2020 7 hours ago, nerbonne said: First post, weee. Any idea why I'm getting this error. The folder does exist. ERROR: backup /mnt/user/Private/ localhost/ - Source directory \ "/mnt/user/Private/" doesn't exist Because you don't understand how volume bind mounts work in docker? Always post the docker run command if you want help. Quote Link to comment
rob_robot Posted October 28, 2020 Share Posted October 28, 2020 (edited) I have edited rsnapshot.conf and crontabs/root in the appdata directory as follows and then restarted the docker, but the cron does not seem to get started. I do not see any snapshots being created so far. Is there anything else that needs to be done? # do daily/weekly/monthly maintenance # min hour day month weekday command */15 * * * * run-parts /etc/periodic/15min 0 * * * * run-parts /etc/periodic/hourly 0 2 * * * run-parts /etc/periodic/daily 0 3 * * 6 run-parts /etc/periodic/weekly 0 5 1 * * run-parts /etc/periodic/monthly # rsnapshot examples 0 */2 * * * rsnapshot alpha 30 4 * * * rsnapshot beta 30 23 * * 0 rsnapshot gamma The configuration should trigger alpha backups every 2h, beta backups daily at 4:30am and gamma backups weekly on Sunday evening (23:30). Edited October 28, 2020 by rob_robot Quote Link to comment
rob_robot Posted October 28, 2020 Share Posted October 28, 2020 (edited) It was an error in the config file. To check syntax I suggest running rsnapshot configtest inside the docker container, as stated on the GitHub page for rsnapshot https://github.com/rsnapshot/rsnapshot/blob/master/README.md#configuration Edited October 28, 2020 by rob_robot 1 Quote Link to comment
Kacper Posted March 21, 2021 Share Posted March 21, 2021 (edited) This docker has a little bug. /root/.ssh/ dir schould be mounted and persistent, as after container reinstall known_hosts and private keys are lost. As workaround I am using: ssh -i /config/id_rsa -o UserKnownHostsFile=/config/known_hosts -p 222 [email protected] and my settings in rsnaphost.conf: ssh_args -i /config/id_rsa -o UserKnownHostsFile=/config/known_hosts -p 222 rsync_short_args -az # My mysql dump on my debian machine: backup_exec ssh -i /config/id_rsa -o UserKnownHostsFile=/config/known_hosts -p 222 [email protected] "mysqldump --defaults-file=/etc/mysql/debian.cnf --all-databases| bzip2 > /root/mysqldump.sql.bz2" # Then backup whole /root folder backup [email protected]:/root your.server.ip/ # and etc www vmain folders - it is ISPCONFIG machine backup [email protected]:/etc/ your.server.ip/ backup [email protected]:/var/www/clients your.server.ip/ backup [email protected]:/var/vmail your.server.ip/ Of course to install private key ssh login option do: # Only once to generate key ssh-keygen # do this for each server where you want to install your private key ssh-copy-id -i /config/id_rsa -p 222 [email protected] To make this post complete: it is required to modify crontabs: [email protected]:/mnt/user/appdata/rsnapshot-backup/crontabs# cat root # do daily/weekly/monthly maintenance # min hour day month weekday command */15 * * * * run-parts /etc/periodic/15min 0 * * * * run-parts /etc/periodic/hourly 0 2 * * * run-parts /etc/periodic/daily 0 3 * * 6 run-parts /etc/periodic/weekly 0 5 1 * * run-parts /etc/periodic/monthly # rsnapshot examples 0 0 * * * rsnapshot daily 0 1 * * 1 rsnapshot weekly 0 2 1 * * rsnapshot monthly and in rsnapshot.conf: ######################################### # BACKUP LEVELS / INTERVALS # # Must be unique and in ascending order # # e.g. alpha, beta, gamma, etc. # ######################################### retain daily 7 retain weekly 4 retain monthly 3 Edited March 21, 2021 by Kacper Complete post 1 Quote Link to comment
Meles Meles Posted July 21, 2021 Share Posted July 21, 2021 (edited) Because i'm a big fan of healthchecks in my docker containers. i've created a healthcheck script for my rsnapshot container i've got it located in /mnt/user/appdata/rsnapshot/healthcheck.sh and have set "Extra Parameters" in the template to --health-cmd /config/healthcheck.sh --health-interval 5m --health-retries 3 --health-start-period 1m --health-timeout 30s Now if my container is unhappy, it'll mark itself as such and the autoheal (willfarrell/autoheal:1.2.0) container i've got running will restart it automatically (which may or may not solve the cause of the unhealthiness) healthcheck.sh Edited July 21, 2021 by Meles Meles typo in script Quote Link to comment
windlok1010 Posted October 16, 2022 Share Posted October 16, 2022 Trying to use rsnapshot to pull data from another server but somehow couldnt get it to work. I think I have found the issue... When running docker exec -it rsnapshot rsnapshot -t alpha The output is: echo 765 > /var/run/rsnapshot.pid mkdir -m 0700 -p /rsnapshot/ mkdir -m 0755 -p /rsnapshot/alpha.0/ /usr/bin/rsync -az --delete --numeric-ids --relative --delete-excluded \ --rsh=/usr/bin/ssh -F /config/.ssh/config \ SOURCE DEST touch /rsnapshot/alpha.0/ but the correct syntax should be (note the apostrophes in the fifth line) echo 765 > /var/run/rsnapshot.pid mkdir -m 0700 -p /rsnapshot/ mkdir -m 0755 -p /rsnapshot/alpha.0/ /usr/bin/rsync -az --delete --numeric-ids --relative --delete-excluded \ --rsh='/usr/bin/ssh -F /config/.ssh/config' \ SOURCE DEST touch /rsnapshot/alpha.0/ Any way to solve this? Thanks all. Quote Link to comment
Carl749862 Posted October 17, 2022 Share Posted October 17, 2022 Hi, I'm trying to do a rsnapshot backup of an unraid share to a backup disk setup as a pool device. It seems to get terminated after 3 hours each time. Any clues as to what could be doing this? I'm new to this so could be an error in config and crontab so included those. Thanks, Carl [2022-10-17T00:00:00] /usr/bin/rsnapshot beta: started [2022-10-17T00:00:00] echo 221 > /var/run/rsnapshot.pid [2022-10-17T00:00:00] mkdir -m 0755 -p /.snapshots/beta.0/localhost/ [2022-10-17T00:00:07] /usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded /data/Carl/ /.snapshots/beta.0/localhost/Carl [2022-10-17T03:00:05] /usr/bin/rsnapshot beta: ERROR: rsnapshot was sent TERM signal... cleaning up [2022-10-17T03:00:05] rm -f /var/run/rsnapshot.pid # do daily/weekly/monthly maintenance # min hour day month weekday command */15 * * * * run-parts /etc/periodic/15min 0 * * * * run-parts /etc/periodic/hourly 0 2 * * * run-parts /etc/periodic/daily 0 3 * * 6 run-parts /etc/periodic/weekly 0 5 1 * * run-parts /etc/periodic/monthly # rsnapshot examples 00 00 * * * rsnapshot beta 00 23 * * 6 rsnapshot gamma 00 22 1 * * rsnapshot delta ################################################# # rsnapshot.conf - rsnapshot configuration file # ################################################# # # # PLEASE BE AWARE OF THE FOLLOWING RULE: # # # # This file requires tabs between elements # # # ################################################# ####################### # CONFIG FILE VERSION # ####################### config_version 1.2 ########################### # SNAPSHOT ROOT DIRECTORY # ########################### # All snapshots will be stored under this root directory. # snapshot_root /.snapshots/ # 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 /path/to/lvcreate #linux_lvm_cmd_lvremove /path/to/lvremove #linux_lvm_cmd_mount /bin/mount #linux_lvm_cmd_umount /bin/umount ######################################### # BACKUP LEVELS / INTERVALS # # Must be unique and in ascending order # # e.g. alpha, beta, gamma, etc. # ######################################### #retain alpha 6 retain beta 7 retain gamma 4 retain delta 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 5 # Same as "verbose" above, but controls the amount of data sent to the # logfile, if one is being used. The default is 3. # loglevel 5 # 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 /config/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 enabling this. # This is the best way to support special files (FIFOs, etc) cross-platform. # The default is 0 (off). # link_dest 1 # When sync_first is enabled, it changes the default behaviour of rsnapshot. # Normally, when rsnapshot is called with its lowest interval # (i.e.: "rsnapshot alpha"), 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 fail with errors like # "Corrupted MAC on input", 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 /data/Carl 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_exec /bin/date "+ backup of example.com started at %c" #backup [email protected]:/home/ example.com/ +rsync_long_args=--bwlimit=16,exclude=core #backup [email protected]:/etc/ example.com/ exclude=mtab,exclude=core #backup_exec ssh [email protected] "mysqldump -A > /var/db/dump/mysql.sql" #backup [email protected]:/var/db/dump/ example.com/ #backup_exec /bin/date "+ backup of example.com ended at %c" # 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/ Quote Link to comment
ChrisW1337 Posted October 25, 2022 Share Posted October 25, 2022 (edited) Hi, sorry i dont understand the "snapshot_root /.snapshots/" part. I defined "/.snapshots" to "/mnt/user/data/rsnapbackup/" in my unraid docker configuration. now i want to start 2 different Backup sets 1. share.daten 2. share.album BUT when i configure this in rsnapshot.conf: backup /data/share.daten/ /share.daten/ This does not work, because the hourly.0... directory all go into "/mnt/user/data/rsnapbackup/", the snapshot_root. BUT I i want is them to be in "/mnt/user/data/rsnapbackup/SHARE.DATEN/hourly.0...." and ""/mnt/user/data/rsnapbackup/SHARE.ALBUM/hourly.0...." i cant seem to put the backup into a subfolder under snapshot_root, but before hourly.0 But i see no other way for different paths and jobs? thanks for any tipp desired result as seen from unraid: 1.) Source: /mnt/share.daten/Daten/text/file.txt Destination: /mnt/user/data/rsnapbackup/share.data/hourly.0/Daten/text/file.txt 2. Source: /mnt/share.album/Fotoalbum/2022/file.jpg Destination: /mnt/user/data/rsnapbackup/share.album/hourly.0/Fotoalbum/2022/file.jpg Edited October 25, 2022 by ChrisW1337 Quote Link to comment
windlok1010 Posted November 23, 2022 Share Posted November 23, 2022 I’m trying to setup cron job. Is the file /config/crontabs/root on host suppose to be the mapped to /etc/crontabs/root on the container? The job runs perfectly if I manually edit the file on the container but it doesn’t work if I edit the file on host. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.