# - bof - # :a # - - # # - Create public key - Crontab "NO Passphrase" - # # - Done in original computer from where you want to make the backup - # # - Do not ingress "Passphrase", just enter - # :a.1 # - - # # - Create public key - HPDesktop-Arch - # mkdir -p ~/cron && cd ~/cron; ssh-keygen -t rsa -b 2048 -f ~/cron/HPDesktop-Arch_rsync-key; :a.2 # - - # # - Copy id_remote_backup to the remote server - # scp id_HPDesktop-Arch.pub is_derayo@192.168.122.240:/home/marlene/cron; scp id_HPDesktop-Arch.pub is_derayo@192.168.122.250:/home/marlene/cron/id_HPDesktop-Arch.pub; :a.3 # - - # # - Add public key to authorized_keys file - # :a.3.1 # - - # # - ssh into uServer - # ssh marlene@192.168.122.240; mkdir -p ~/cron && cd ~/cron; :a.3.2 # - - # # - Add to file authorized_keys - # :a.3.2.1 # - - # # - command - # cat << EOF >> ~/.ssh/authorized_keys command="/home/marlene/cron/validate-rsync" (paste your public key here) EOF # - It will look like this - # cat << EOF >> ~/.ssh/authorized_keys command="/home/marlene/cron/validate-rsync" ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9M/rpLNK/Xca/zi+1s5RZvKWj5Asmasw4qs5fJZ0yoBoZka6f15roHLM9WChx5h9oNXDqQ3Z73ChDqC64m1J1DXAwwcAhopdUO3EE2qqiQoNiwXQH3TnuhwQLQKlSaOCfR5MWL5FSKpIcZzxMzb0ROYv+gQ+JtL+ccDvvKd+a+WCTDPr4JE4oy+3FxcEwPTC+mTmdvpqDZapAs+QSiKFXXFtYtB+bmqcP/tkIMz2I6cvedOUKD5bWPSXSfQ05qkDIS8sWKTWTapwrJZeHIMf/Mqahyyyh6PXNbT+QQEE1XsYyIABBfjhRsn/FSTDHdcpLSM63e0565mhf5jMgiDwJ marlene@Arch EOF :a.3.2.1 # - - # # - from & command - # cat << EOF >> ~/.ssh/authorized_keys from="192.168.2.40",command="/home/marlene/cron/validate-rsync" (paste your public key here) EOF # - It will look like this - # cat << EOF >> ~/.ssh/authorized_keys from="192.168.2.40",command="/home/marlene/cron/validate-rsync" ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9M/rpLNK/Xca/zi+1s5RZvKWj5Asmasw4qs5fJZ0yoBoZka6f15roHLM9WChx5h9oNXDqQ3Z73ChDqC64m1J1DXAwwcAhopdUO3EE2qqiQoNiwXQH3TnuhwQLQKlSaOCfR5MWL5FSKpIcZzxMzb0ROYv+gQ+JtL+ccDvvKd+a+WCTDPr4JE4oy+3FxcEwPTC+mTmdvpqDZapAs+QSiKFXXFtYtB+bmqcP/tkIMz2I6cvedOUKD5bWPSXSfQ05qkDIS8sWKTWTapwrJZeHIMf/Mqahyyyh6PXNbT+QQEE1XsYyIABBfjhRsn/FSTDHdcpLSM63e0565mhf5jMgiDwJ marlene@Arch EOF :b # - - # # - Edit validate-rsync file - # vim /home/marlene/cron/validate-rsync; #!/bin/sh case "$SSH_ORIGINAL_COMMAND" in *\&*) echo "Rejected" ;; *\(*) echo "Rejected" ;; *\{*) echo "Rejected" ;; *\;*) echo "Rejected" ;; *\<*) echo "Rejected" ;; *\>*) echo "Rejected" ;; *\`*) echo "Rejected" ;; *\|*) echo "Rejected" ;; rsync\ --server*) $SSH_ORIGINAL_COMMAND ;; *) echo "Rejected" ;; esac :c # - - # # - Testing - # :c.1 # - - # # - Create backup folder in uServer - # ssh is_derayo@192.168.122.250 "mkdir /home/Data/Images/Backup/HPDesktop-Arch" ssh marlene@192.168.122.240 "mkdir /home/Data/Images/Backup/HPDesktop-Arch" :c.2 # - - # # - Backup to uServer - # rsync -azvvhP /home/Data1/Documents/Pictures \ -e "ssh -i /home/marlene/cron/HPDesktop-Arch_rsync-key" \ marlene@192.168.122.240:/home/Data/Images/Backup/HPDesktop-Arch; rsync -azvvhP /home/Data1/Documents/Pictures \ -e ssh is_derayo@192.168.122.250:/home/Data/Images/Backup/HPDesktop-Arch; rsync -azvvhP /home/Data1/Documents/Pictures \ -e "ssh -i /home/is_derayo/.ssh/id_HPDesktop-Arch" \ is_derayo@192.168.122.250:/home/Data/Images/Backup/HPDesktop-Arch; :c.3 # - - # # - Backup from uServer - # rsync -azvvhP -e "ssh -i /home/is_derayo/.ssh/id_HPDesktop-Arch" \ is_derayo@192.168.122.250:/home/Data/Images/Backup/HPDesktop-Arch/Pictures \ /home/Data1/Documents/Backup/uServer/; :d # - - # # - Other samples - # command="rsync --server -vvlogDtprze.iLsf . /mybackupfolder/" ssh-rsa AAAAB... rsync -avzrh -e ssh /home/me/Documents /home/me/Pictures tester@192.168.1.100:/mybackupfolder rsync -Pavh -e "ssh -i $HOME/.ssh/somekey" username@hostname:/from/dir/ /to/dir/ rsync -avzrh -e ssh /home/me/Documents /home/me/Pictures tester@192.168.1.100:/mybackupfolder sudo rsync -aqveh 'ssh -i ~user/.ssh/id_rsa' \ ${user}@${remote_host}:/etc/bind /etc/bind rsync -azvvh /home/is_derayo/Documents/Source -e \ "ssh -i /home/is_derayo/.ssh/id_HPDesktop-Arch" \ is_derayo@www.isdevelopment.us:/home/Data3/Images/Backup/Destination/ rsync -Pav -e "ssh -i $HOME/.ssh/somekey" username@hostname:/from/dir/ /to/dir/ rsync -azP -e ssh /home/me/Documents /home/me/Pictures tester@192.168.1.100:/mybackupfolder rsync -azvv /home/is_derayo/Documents/RR-ProfessionalConstructionLLC -e "ssh -i /home/is_derayo/.ssh/id_remote_backup--HPEnvy-Mint" is_derayo@www.isdevelopment.us:/home/Data3/Images/Backup/uServerOffice-Backup/ rsync -a -P remote_user@remote_host_or_ip:/opt/media/ /opt/media/ :d.1 # - - # # - Sample with Date/Time - # now=$(date +%Y-%m-%d_%H-%M-%S) rsync --backup --backup-dir='Backup_'$now -a /data/working/ /BACKUP/ rsync --backup --backup-dir=`date +%Y.%m.%d` -a /data/working/ /BACKUP/ :e # - - # # - Exclude file - # rsync -a --exclude-from='/exclude-file.txt' /src_directory/ /dst_directory/ /exclude-file.txt node_modules tmp :f # - - # # - Running backup - # # - from HPDesktop-Arch - # # - into uServer - # ssh is_derayo@192.168.122.250 "rsync -azvvhP /home/Data/Documents/Pictures \ /home/Data/Images/Backup/uServer/" :g # - - # # - Backup script HPEnvy-Mint - # # - Files name - In this case the file is located at: /home/Data/Images/Programs/Scripts - # # backup-rsync_RRProfessionalConstructionLLC.sh #!/bin/bash #Purpose = Sync backup files to an another server # Remote Server Rsync backup Replication Shell Script #Created = 03-29-2017 # Author = Djalmar Enrique Rayo #Version = 1.0 #bash file location /home/Data/Images/Programs/Scripts/ #run the file: #sh ./home/Data/Images/Programs/Scripts/backup-rsync_RRProfessionalConstructionLLC_2.sh # Computer's name hostname=$(hostname -s) # User's name myUser=$(whoami) # Date & time now=$(date +%Y-%m-%d_%H:%M:%S) Directory_=/home/is_derayo/ LogFile=crontab-Log.txt DirFile=$Directory_$LogFile echo '' >> $DirFile echo '' >> $DirFile echo ' Host name: '$hostname >> $DirFile echo ' User: '$myUser >> $DirFile echo 'Updating file: '$DirFile >> $DirFile echo ' Date & time: '$now >> $DirFile echo '' >> $DirFile #START echo '' >> $DirFile echo '# - Local backup - #' >> $DirFile echo '# - From: /home/is_derayo/Documents/RR-ProfessionalConstructionLLC/ - #' >> $DirFile echo '# - To: /home/Data/Images/Backup/uServerOffice-Backup/ - #' >> $DirFile echo '' >> $DirFile # Destination 1: /home/Data/Backup/uServerOffice-Backup/RR-ProfessionalConstructionLLC/ mkdir -p /home/Data/Images/Backup/ rsync -azvv /home/is_derayo/Documents/RR-ProfessionalConstructionLLC /home/Data/Images/Backup/uServerOffice-Backup/ echo '' >> $DirFile echo '# - Remote backup - #' >> $DirFile echo '# - From: /home/is_derayo/Documents/RR-ProfessionalConstructionLLC/ - #' >> $DirFile echo '# - To: www.isdevelopment.us:/home/Data3/Images/Backup/uServerOffice-Backup/ - #' >> $DirFile echo '' >> $DirFile # Destination 2: www.isdevelopment.us:/home/Data3/Images/Backup/uServerOffice-Backup/RR-ProfessionalConstructionLLC/ ssh is_derayo@www.isdevelopment.us "mkdir -p /home/Data3/Images/Backup/" rsync -azvv /home/is_derayo/Documents/RR-ProfessionalConstructionLLC -e "ssh -i /home/is_derayo/.ssh/id_remote_backup--HPEnvy-Mint" is_derayo@www.isdevelopment.us:/home/Data3/Images/Backup/uServerOffice-Backup/ #END :h # - - # # - Crontab file in HPEnvy-Mint - # # - To edit crontab write in terminal: crontab -e # Edit this file to introduce tasks to be run by cron. # # Each task to run has to be defined through a single line # indicating with different fields when the task will be run # and what command to run for the task # # To define the time you can provide concrete values for # minute (m), hour (h), day of month (dom), month (mon), # and day of week (dow) or use '*' in these fields (for 'any').# # Notice that tasks will be started based on the cron's system # daemon's notion of time and timezones. # # Output of the crontab jobs (including errors) is sent through # email to the user the crontab file belongs to (unless redirected). # # For example, you can run a backup of all your user accounts # at 5 a.m every week with: # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/ # # For more information see the manual pages of crontab(5) and cron(8) # # m h dom mon dow command 59 23 * * * sh /home/Data/Images/Programs/Scripts/backup-rsync_RRProfessionalConstructionLLC.sh >> /home/is_derayo/crontab-Log.txt 2>&1 #18 09 * * * sh /home/Data/Images/Programs/Scripts/backup-rsync_RRProfessionalConstructionLLC.sh >> /home/is_derayo/crontab-Log.txt 2>&1 # - eof - #