DevGang
Авторизоваться

OS X синхронизация с сервером fswatch + rsync 

Для начала нужно закинуть ключ на удаленный сервер:

ssh-keygen -t rsa

Далее, ставим ssh-copy-id (в Mac OS: bew install ssh-copy-id ) и с его помощью заливаем наш сгенерированный ключ:

ssh-copy-id -i ~/.ssh/id_rsa user@remote.ru

Теперь ставим fswatch и rsync:

brew install fswatch
brew install rsync

Создаем файл sync.sh 

#!/bin/bash

watch() {
    fswatch -0 $1 | while read -d "" event
    do
        rsync -avzutr --timeout=10 $1 $2
    done
}

watch "local/path/" "login@server:path/" 

exit 0

Первым параметром передаем, что будем отслеживать и откуда брать изменения, вторым– куда их отправлять.

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

#!/bin/bash

watch() {
    fswatch -0 $1 | while read -d "" event
    do
        rsync -avzutr --timeout=10 $1 $2
        rsync -avzutr --timeout=10 $2 $1
    done
}

watch "local/path/" "login@server:path/" 

exit 0
#Bash
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

Поделитесь своим опытом, расскажите о новом инструменте, библиотеке или фреймворке. Для этого не обязательно становится постоянным автором.

Попробовать

Оплатив хостинг 25$ в подарок вы получите 100$ на счет

Получить