Страница 1 из 1

Синхронизация профиля (с домашним сервером)

Добавлено: 09 дек 2013, 20:01
Yamah
Еще когда только поставил Росу Фрэш на все свои домашние машины, встал вопрос с синхронизацией профилей или отдельных каталогов.
Использовать RosaSync, Dropbox, ЯД и т.д. мне не удобно:
1. Размер данных может быть существенно больше, чем место на удаленном ресурсе.
2. Скорость соединения в локальной сети выше, чем во внешней.
3. Не все данные можно хранить на чужих ресурсах.
4. Зачем чужое, когда есть свое?

Частично реализовал уже:

Код: Выделить всё

cat rsync_sync.sh
#!/bin/bash

WAI=$(whoami)
PASSFILE="/home/$WAI/.config/rsync/pass.file"
DOITAGAIN="rsync -azq --password-file=$PASSFILE"
SERVER="server"

download_sync ()
{
    for SYNCDIR in "Документы" "Музыка" "Изображения" "Рабочий стол" ".mozilla"
        do
            $DOITAGAIN rsync://$WAI@$SERVER/Profiles_$WAI/"$SYNCDIR" /home/$WAI
        done
}

upload_sync ()
{
    for SYNCDIR in "Документы" "Музыка" "Изображения" "Рабочий стол" ".mozilla"
        do
            $DOITAGAIN /home/$WAI/"$SYNCDIR" rsync://$WAI@$SERVER/Profiles_$WAI/                                                                                                 
        done                                                                                                                                                                    
}                                                                                                                                                                               
                                                                                                                                                                                
case $1 in                                                                                                                                                                      
    download)                                                                                                                                                                   
        download_sync                                                                                                                                                           
    ;;                                                                                                                                                                          
    upload)                                                                                                                                                                     
        upload_sync                                                                                                                                                             
    ;;                                                                                                                                                                          
    *)                                                                                                                                                                          
        echo "Выберите действие download|upload"                                                                                                                                                            
    ;;                                                                                                                                                                          
esac
Для синхронизации локального профиля с удаленным используется команда
rsync_sync.sh download
Для отправки изменений на сервер:
rsync_sync.sh upload

Естественно, сам сервер должен быть настроен соответствующим образом.