Довольно частая задача - осуществлять резервное копирование данных на удаленный сервер. Причем, важна безопасность и защищенность соединения. Протокол SSH позволяет в числе прочего передавать файлы и при использовании авторизации по ключу обеспечивает высокий уровень безопасности. К тому же, как правило, SSH уже настроен на удаленной машине, что сильно облегчает процесс конфигурации.

rsync - легкий, и в то же время очень мощный инструмент для синхронизации файлов. Не буду подробно его описывать, такой информации много в интернете.

Пример запуска синхронизации поверх SSH соединения:

rsync -rlth -e "ssh -i /{path_to_private_key}/id_rsa" --progress  /{from_dir} {user}@{host}:/{to_dir}

path_to_private_key - путь к приватному ключу ssh клиента
from_dir - директория для копирования (источник)
user - имя пользователя на удаленном сервере
host - адрес удаленного сервера
to_dir - директория получатель копии на удаленном сервере

Также, публичный ключ ssh клиента должен быть добавлен на сервере в файл authorized_keys