User Tools

Site Tools


computing:rsyncrsnapshot

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Last revisionBoth sides next revision
computing:rsyncrsnapshot [2023/04/10 21:12] oemb1905computing:rsyncrsnapshot [2023/04/10 21:16] oemb1905
Line 54: Line 54:
           mail -s "[$(hostname -f)]-rsnap-success-$(date)" alerts@alerts.com < $logfile           mail -s "[$(hostname -f)]-rsnap-success-$(date)" alerts@alerts.com < $logfile
           rm $logfile           rm $logfile
-          chown sexa:sexa -R /mnt/backups/rsnapback/localhost.domain/+          chown user:user -R /mnt/backups/rsnapback/localhost.domain/
           chmod 770 -R /mnt/backups/rsnapback/localhost.domain/           chmod 770 -R /mnt/backups/rsnapback/localhost.domain/
   else   else
Line 89: Line 89:
   backup                  root@domain.com:/root/                 root/   backup                  root@domain.com:/root/                 root/
  
-Now that the config is setup, you use a script very similar to the localhost script above, but note the syntax changes for sync and alpha that will specify to rsnapshot to use this particular configuration file:+Now that the config is setup, you use a script very similar to the localhost script above, but note the syntax changes for sync and alpha that will specify to rsnapshot to use this particular configuration file. Additionally, just like the localhost, I specified for rsnapshot to retain a snapshot called alpha for 90 days, which suits my use case. Here's the script for the remote hosts: 
 + 
 +  #!/bin/bash 
 +  service="/usr/bin/rsnapshot" 
 +  logfile="/home/sexa/logs/domain.com.log" 
 +  host="domain.com" 
 +          START1="$(date +%s)" 
 +          touch $logfile 
 +          $service -c /etc/rsnapshot/rsnapshot-$host.conf -V sync > $logfile 
 +          END1="$(date +%s)" 
 +          DURATION1=$[ ${END1} - ${START1} ] 
 +          MINUTES=$[ ${DURATION1} / 60 ] 
 +          sed -i "1s/^/Jonathan, at $(date), the rsnapshot sync took exactly ${DURATION1} seconds which is approximately ${MINUTES} minutes to complete.\n/" $logfile 
 +  if 
 +          tail -n -5 $logfile | grep "completed" 
 +  then 
 +          START1="$(date +%s)" 
 +          echo "Jonathan, at $(date), $(hostname -f) ran a sync that completed so I am now running alpha." 
 +          $service -c /etc/rsnapshot/rsnapshot-$host.conf -V alpha >> $logfile 
 +          END1="$(date +%s)" 
 +          DURATION1=$[ ${END1} - ${START1} ] 
 +          MINUTES=$[ ${DURATION1} / 60 ] 
 +          sed -i "1s/^/Jonathan, at $(date), the rsnapshot alpha took exactly ${DURATION1} seconds which is approximately ${MINUTES} minutes to complete.\n/" $logfile 
 +          #echo "Jonathan, at $(date), the rsnapshot alpha took exactly ${DURATION1} seconds which is approximately ${MINUTES} minutes to complete." | tee -a $logfile 
 +          mail -s "[${host}]-rsnap-success-$(date)" alerts@alerts.com < $logfile 
 +          rm $logfile 
 +          chown user:user -R /mnt/backups/rsnapback/$host/ 
 +          chmod 770 -R /mnt/backups/rsnapback/$host/ 
 +  else 
 +          echo "Jonathan, at $(date), $(hostname -f) ran a sync that failed and I am now notifying you." 
 +          mail -s "[${host}]-rsnap-failure-$(date)" alerts@alerts.com < $logfile 
 +          rm $logfile 
 +  fi
  
  
computing/rsyncrsnapshot.txt · Last modified: 2023/04/10 21:29 by oemb1905