enable rsync to run permanently
linux, rsync
Solution
If you want to rsync every some amount of time you can use `cronjobs` which can be configured to run a specific command each amount of time and if you want to run rsync when there is an update or modification you can use `lsyncd`. check this article about use `lsyncd`
Update: As links might get outdated, I will add this brief example (You are free to modify it with what works best for you):
First create an ssh key on the source machine and then add the public key at the `~/.ssh/authorized_keys` file on the destination machine.
In the source machine update this file `~/.ssh/config` with the following content:
# ~/.ssh/config
...
Host my.remote.server
identityfile ~/.ssh/id_rsa
IdentitiesOnly yes
hostname 123.0.0.99
user root
port 22
...
And configure your lsyncd with the following then restart lsyncd's service
# lsyncd.conf
...
sync {
default.rsyncssh,
source="/home/stuff",
host="my.remote.server",
targetdir="/home/stuff",
excludeFrom="/etc/lsyncd/lsyncd.exclude",
rsync = {
archive = true,
}
}
...
Problem
I have two machines, both running on linux with centos 7. I have installed the rsync packages on both of them and i am able to sync a directory from one machine to the other. Right now i am doing the syncing manually, each time i want to sync i am running the next line: ``` rsync -r /home/stuff root@123.0.0.99/home ``` I was wondering if there is a way of configuring the rsync to do the syncing automatically, every some amount of time or preferably when there is a new file of sub directory in the home directory? Thank you for your help. Any help would be appreciated.