Skip to main content

New Page

RSync copies files and can sync between servers

Use RSync in [[Cronjob]]
Archive Backups with [[tar]]

TEST WITH: `--dry-run`

rsync -aAXv --delete --exclude={/home/danicus/.cache/*} /home /mounted/backup

    a= archive= its a few other tags as well
    A= keeps permissions
    X= keeps the next level of permissions
    v= verbose
    -- delete= deletes any files inside the file this will be copying to
    --exclude= excludes `file/this/*, andfile/that/*`
    /home= location of files you want to back up
    /mounted= the backup drive location
    see [[RSync#*NOTE "/"*]]

#### Multiple directories to one end location
###### use seperate command lines and run them seperately. 

sudo rsync -aAXv --delete /etc /mounted/backup/wallserver/
sudo rsync -aAXv --delete /home /mounted/backup/wallserver/
sudo rsync -aAXv --delete /root /mounted/backup/wallserver/
sudo rsync -aAXv --delete /var /mounted/backup/wallserver/
sudo rsync -aAXv --delete /usr/local/bin /mounted/backup/wallserver/
sudo rsync -aAXv --delete /usr/local/sbin /mounted/backup/wallserver/
sudo rsync -aAXv --delete /srv /mounted/backup/wallserver/
sudo rsync -aAXv --delete /opt /mounted/backup/wallserver/
sudo rsync -aAXv --delete /mounted/main /mounted/backup/wallserver/
#### Multiple directories to one end location FROM an Remote Source
rsync -e ssh root@remote.com:/path/to/file :/path/to/second/file/ /local/directory/


>#### Permissions denied (this my not work)
If you are denied because of `PermitRootLogin no`, create a new user
>
>Make a new user for rsync to use then add that name to the /etc/sudoers >file so that, that user can execute the rsync command without a >password
>In the /etc/sudoers file add:
>`rsyncuser ALL= NOPASSWD:/usr/bin/rsync`
>
>Then, we use _**rsync-path**_ to make _rsync_ works with the sudo.
>`--rsync-path="sudo rsync"`
>`rsync -aAXv --rsync-path="sudo rsync" --delete`