Результаты поиска
Безопасная синхронизация папок по общедоступной сети
Мне нужно, чтобы файлы & папок на двух Windows основе, не доменных машин синхронизированы через общедоступную сеть.
Я думал rsync над SSH - но мне было интересно, есть ли более простое решение? Есть ли возможность использовать sync framework через SFTP/SCP/SSH?
Или я открыт для лучших идей?
RSync только если смонтирована файловая система
Я хочу настроить задание cron для rsync удаленной системы на резервный раздел, Что-то вроде:
bash -c 'rsync -avz --delete --exclude=proc --exclude=sys root@remote1:/ /mnt/remote1/'
Я хотел бы иметь возможность "set it and forget it", но что делать, если /mnt/remote1 будет размонтирован? (После перезагрузки или чего-то еще) я хотел бы ошибиться, если /mnt/remote1 не смонтирован, а не заполнять локальную файловую систему.
Редактировать:
Вот что я придумал для скрипта, очистку улучшений оценил (особенно для пустого тогда ... иначе я не мог бы оставить их пустыми или bash ошибки)
#!/bin/bash
DATA=data
ERROR="0"
if cut -d' ' -f2 /proc/mounts | grep -q "^/mnt/$1\$"; then
ERROR=0
else
if mount /dev/vg/$1 /mnt/$1; then
ERROR=0
else
ERROR=$?
echo "Can't backup $1, /mnt/$1 could not be mounted: $ERROR"
fi
fi
if [ "$ERROR" = "0" ]; then
if cut -d' ' -f2 /proc/mounts | grep -q "^/mnt/$1/$DATA\$"; then
ERROR=0
else
if mount /dev/vg/$1$DATA /mnt/$1/data; then
ERROR=0
else
ERROR=$?
echo "Can't backup $1, /mnt/$1/data could not be mounted."
fi
fi
fi
if [ "$ERROR" = "0" ]; then
rsync -aqz --delete --numeric-ids --exclude=proc --exclude=sys \
root@$1.domain:/ /mnt/$1/
RETVAL=$?
echo "Backup of $1 completed, return value of rsync: $RETVAL"
fi
Будет ли биться MyISAM при синхронизации?
Сейчас синхронизирую базы с удаленные серваком останавливая мускул и запуская rsync. Но базы растут и с ними растет и время простоя.
Вопрос в том насколько велика вероятность получить битые таблицы если не останавливать мускул на период синхронизации? А если сначала сделать LOCK TABLES? А потом еще прогонять проверку. Из активности в база на 99% SELECT-ы.
PS. Я прекрасно знаю про дампы и про репликацию и активно их использую, но в данном случае это неоправданно сложно.
Двусторонняя синхронизация данных на двух серверах?
Имеется:
2 сервера на FreeBSD (#1 и #2) с работающим rsync'ом, которые находятся в разных квартирах. На каждом сервере есть по одному 500 ГБ харду, на котором хранится рабочая и личная информация.
Задача:
Сделать умную синхронизацию, которая бы умела:
1. При добавлении/удалении/изменении информации на сервер #1, она должна добавляться/удаляться/изменяться на сервере #2.
2. Аналогично п. 1 в обратном порядке.
Как делал я:
На сервере #2 добавил в крон следующие команды:
/usr/local/bin/rsync -avz -e 'ssh -p 22' --partial /hdd/docs/ rsync@78.xx.xx.xx:/hdd/docs/ # с сервера #1 на сервер #2<br/>
/usr/local/bin/rsync -avz -e 'ssh -p 22' --partial rsync@78.xx.xx.xx:/hdd/docs/ /hdd/docs/ # и наоборот<br/>
Проблема возникла, когда я стал добавлять ключи
delete-after – Удалять файлы на слейве (#2), которые не были найдены на мастере (#1), после окончания синхронизации.<br/>
Так же можно использовать delete-before, delete-during, delete-excluded и delete.<br/>
Получалось, что только что удаленные/измененные первой командой в кроне файлы на #1 заново создавались при синхронизации #2 с #1 второй командой, и наоборот.
Есть ли решение?
/usr/local/bin/rsync -avz -e 'ssh -p 22' --partial /hdd/docs/ rsync@78.xx.xx.xx:/hdd/docs/ # с сервера #1 на сервер #2<br/>
/usr/local/bin/rsync -avz -e 'ssh -p 22' --partial rsync@78.xx.xx.xx:/hdd/docs/ /hdd/docs/ # и наоборот<br/>delete-after – Удалять файлы на слейве (#2), которые не были найдены на мастере (#1), после окончания синхронизации.<br/>
Так же можно использовать delete-before, delete-during, delete-excluded и delete.<br/>