rsync
last edited Wed, 24 Jul 2024 05:21:40 GMT
backlinks:
backups
You must have established SSH between two hosts
The most wonderul synchronization tool that can be used locally or remote host. Knowing how to properly utilize rsync
can streamline backups.
- preserves file permissions, modifications, and timestamps
- symbolic links in absolute and relative paths will be re-created
- data is only transferred as needed making it efficient
- transfers occur over SSH for security
Additional Examples direct link to this section
root@debian-nginx2:~# rsync /root/myveryimportantdirectory root@192.168.0.150:/root/
skipping directory myveryimportantdirectory
root@debian-nginx2:~# rsync -a /root/myveryimportantdirectory root@192.168.0.150:/root/
using ZIP direct link to this section
root@debian-nginx2:~# zip -r backup-$(date --iso-8601) /root/myveryimportantdirectory/
adding: root/myveryimportantdirectory/ (stored 0%)
adding: root/myveryimportantdirectory/myveryimportanttext.txt (stored 0%)
send backup to desired host:
root@debian-nginx2:~# rsync backup-$(date --iso-8601).zip root@192.168.0.150:/root/backups/
mirror a directory direct link to this section
Web server example where the /var/www/html
directory tree will be copied to the remote host:
$ rsync -av --progress \
--exclude '*.swp' \
--exclude '/old-css/' \
--exclude '/old-js/' \
/var/www/html/ example.com:/var/www/html
Where -a
denotes archive mode and -v
denotes verbose mode (all transfers are narrated).
mirror an entire system direct link to this section
sudo rsync -aAXv amaya:/ –dry-run –-delete –exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/cdrom/*,/lost+found} /backup
remote host to local host (pull) direct link to this section
rsync -aiv --remove-source-files rhost:/tmp/{file1,file2}.c ~/src/
# or
rsync -av bob@173.82.232.55:remote-file.txt /home/cherry/data
local to remote host (push) direct link to this section
rsync [options] source [user@host-ip]:dest-on-remote-machine
rsync [options] [user@host-ip]:source dest-on-local-machine