Забавно, что вы задали этот вопрос, потому что на прошлой неделе у меня было собрание, на котором я слышал, что некоторые люди используют commit / push не запускаемый и даже не компилируемый код в авторитетном хранилище просто для его сохранения! (Примечание: это отличается от того, что говорит Марк). Мне это показалось настолько неправильным и настолько мешающим непрерывной интеграции, что мы решили установить сервер резервного копирования на основе rsync, чтобы разработчики поняли, насколько эффективны инструменты контроля версий и резервного копирования!
Я еще не установил сервер, но если у вас есть запасной компьютер Unix с запущенным на нем ssh-сервером, простой crontab может выполнить эту работу, например, используя ssh и rsync (если у вас есть смонтированный по NFS раздел, это было бы даже проще):
$ crontab -l
# m h dom mon dow command
0,15,30,45 * * * * if `ping -c 1 machine.domaine.com
> /dev/null 2> /dev/null` ; then export SSH_AGENT_PID=
"`pgrep -l ssh-agent | cut -d' ' -f1`" ; export SSH_AUTH_SOCK=
"`/usr/bin/find /tmp -path '*ssh-*' -type s -user name -group
gname -name '*agent*' 2> /dev/null`" ; /usr/bin/rsync -avz -e ssh
--quiet /home/name/src name@machine.domain.com:/home/name/backup/src ; fi
(я предполагаю, что вы можете войти в систему с помощью ssh, что у вас запущен ssh-agent и вы использовали ssh-add).
Таким образом, каждые 15 минут текущая работа сохраняется, и поскольку rsync довольно быстро выясняет, что изменилось, это не должно замедлять работу вашей рабочей станции. В случае, если ваш диск
аварийно завершает работу, просто войдите в machine.domain.com, используйте свои учетные данные с резервной копией :-) и продолжайте работу ...
Надеюсь, это поможет.
Приветствия
Christophe.
= Безопасность - это в основном суеверия. Это не существует в природе. - Хелен Келлер =