Какую стратегию резервного копирования Вы используете для своего кода?

21
задан Community 23 May 2017 в 12:32
поделиться

28 ответов

Моя стратегия всегда является регистрацией, и скопируйте весь репозиторий.

я никогда ничего не упускаю из управления исходным кодом, и я удостоверяюсь, что регулярные резервные копии (возрастающее ежедневное, полное еженедельное и ежемесячное вращение) происходят и функциональны.

31
ответ дан Vinko Vrsalovic 29 November 2019 в 06:14
поделиться

Я использую MozyPro для автоматизации от резервного копирования сайта текущего кода моей машины, а также базы данных управления исходным кодом. Это работает инкрементно каждую ночь.

0
ответ дан pro 29 November 2019 в 06:14
поделиться

Подрывная деятельность: сервером управляет Бобовый стебель, клиент использует Черепаху SVN. После каждой сессии кодирования все возвращается к репозиторию SVN, таким образом, я никогда не должен волноваться о проигрывающем коде. Я также периодически создаю резервную копию последнего кода к CD и блокирую его в хранилище только, чтобы быть уверенным!

кроме того, имейте в виду, что Ваш код является только одной частью уравнения. Большинство современных сред разработки требует значительной настройки в и себя (интеграция сторонних инструментов, являющихся очевидным примером, но просто устанавливающий IDE с подходящими вариантами берет вполне некоторое время также). Таким образом я также делаю всю свою разработку в виртуальной машине, которую я могу легко поддержать до внешнего жесткого диска. Они привязываются хранилище также.

Наконец, я копирую "ссылочную" базу данных для завершения изображения. Я не могу только скопировать схему потому что в моем продукте, существуют значительные системные данные, сохраненные в базе данных (например, содержание, поставленное с веб-сайтом).

0
ответ дан Mark Brittingham 29 November 2019 в 06:14
поделиться

существуют времена, однако, когда Ваша локальная копия вне синхронизации с репозиторием. Кроме того, некоторые проекты типа песочницы еще не могут иметь;-), превратил его в SCC.

Во-первых, необходимо действительно попытаться минимизировать время код отсутствует SCC. Не в целях резервирования, а для того, чтобы отслеживать то, что было сделано когда, и особенно почему . комментарии фиксации неоценимы . Большая регистрация, содержащая 3 000 файлов с сообщением "Начальный Пересмотр", не очень полезна.

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

И, конечно, никто не хочет должным быть восстановить их весь каталог проекта от SCC, если дисковод перестает работать - намного лучше, чтобы просто восстановить от фактического резервного копирования.

Не это всего svn checkout? Почему не просто 'восстанавливают от SCC'?

0
ответ дан Orion Edwards 29 November 2019 в 06:14
поделиться

Кроме подрывной деятельности, я использую crashplan для удаленных резервных копий онлайн. Это может также скопировать к локальному устройству хранения данных и другим компьютерам (хотя, к сожалению, кажется, требует, чтобы тот же набор резервных копий в настоящее время хранился в каждом месте назначения - т.е. не может сохранить небольшой набор жизненного удаленного материала, и больший набор локально.)

я также использую унисон (для вещей, слишком больших для резервного копирования удаленный - музыка, фильмы и т.д.), и капсула времени OSX, так, чтобы в случае потери данных, я мог, надо надеяться, восстановить, не обращаясь к резервному копированию онлайн. Резервное копирование онлайн предназначается для бедствия как дом сгорание дотла или быть кравшимся.

0
ответ дан frankodwyer 29 November 2019 в 06:14
поделиться

Я использую rdiff-резервное-копирование для выполнения ежедневного инкрементного резервного копирования моего ноутбука по SSH. Это использует deltra сжатие (как rsync), таким образом, это очень быстро. Это также позволяет Вам возвратиться любое количество дней в сохраненных данных так, чтобы можно было возвратиться для исправления после окончания некоторого сложного кода, но перед случайным удалением всего этого.

Это немного хитро для начинаний, но определенно стоящий того, по-моему.

0
ответ дан Sarel Botha 29 November 2019 в 06:14
поделиться

В случае, если что-либо должно перестать работать, я буду иногда посылать мне по электронной почте важные части, я продолжаю работать в учетные записи веб-почты, такие как Yahoo или hotmail. Я знаю, что все говорят о переключении от бумаги до цифрового, но иногда Вы никогда не знаете то, что собирается произойти, таким образом, я распечатаю твердые копии. Очевидно, это не лучшее решение специально для крупного проекта, таким образом, я буду обычно ограничивать твердые копии меньшими, более важными частями. Я также склонен быть немного параноиком, таким образом, я закончу тем, что брал резервное копирование резервного копирования резервного копирования.

0
ответ дан Xaisoft 29 November 2019 в 06:14
поделиться

Так как я использую TFS (Сервер Основы Команды), я просто создаю резервную копию базы данных SQL Server как любой другой базы данных, которую я использую

0
ответ дан juan 29 November 2019 в 06:14
поделиться

Я работаю над продуктом, названным "Агент Кода Трансагента", который разработан, чтобы сделать, что Вы просите.

Это обеспечивает локальное резервное и управление версиями для Ваших исходных файлов.

Это позволяет Вам использовать свою существующую установку управления исходным кодом для того, что это было предназначено для (справляющийся "с главным образом завершенной" работой нескольких разработчиков по нескольким выпускам) при предоставлении Вам автоматизированное резервное и локальное управление версией файла для Вашей происходящей работы.

бета должна выходить когда-то в январе.

Вы видите наш "веб-сайт" (это немного грубо) по телефону

www.transactor.com

существует форма там, можно использовать для подписываний на частную бету.

Обновление:

Вот немного больше информации, на основе некоторой обратной связи, я вошел в комментарии:

1) у меня есть вещь против управления исходным кодом?

Нет! Я думаю, что управление исходным кодом является замечательной вещью. Когда используется правильно это обеспечивает огромный инструмент для управления жизненным циклом программного обеспечения.

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

Для помещения его по-другому управление исходным кодом является инструментом, разработанным для создания жизни босса легче (потому что это помогает к функциям менеджера и изменениям и командам и версиям со временем)

, Агент Кода является инструментом, разработанным для создания жизни легче (потому что это удостоверяется, что работа всегда сохраняется).

1
ответ дан Scott Wisniewski 29 November 2019 в 06:14
поделиться

Код, в котором не регистрируются (и следовательно сохраняют) к Вашему VCS, не существует . Это не более реально, чем код, который Вы просто имеете в голове. Это действительно настолько просто.

1
ответ дан JesperE 29 November 2019 в 06:14
поделиться

если Вы отличаетесь от своего управления исходным кодом для существенного количества времени, то Вам нужно некоторое распределенное управление исходным кодом.

1
ответ дан Javier 29 November 2019 в 06:14
поделиться

Когда Ваша запись чего-то, что еще не принадлежит основной сборки, создает ответвление. Когда это должно войти в основную сборку, объединить Ваше ответвление с ним.

Распределенные VCSes также делают локальные ответвления действительно легкими, центральный репозиторий никогда не будет знать, что они существовали.

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

1
ответ дан Waquo 29 November 2019 в 06:14
поделиться

Мы также регистрируем все (регистрация рано и часто) и создаем резервную копию всего репозитория (CVS) с tar и ftp это к нашему серверу резервного копирования.

1
ответ дан Jim Blizard 29 November 2019 в 06:14
поделиться

Управление версиями (SVN) более чем достаточно для меня. Все же существуют некоторые правила:

  • я фиксирую максимально часто (4-6 часов работы, не фиксируя уже начинают создавать эту покалывающую сенсацию чего-то идущего не так, как надо).
  • структуры SVN решений являются всегда атомарными. Вам просто нужен новый CheckOut, чтобы быть в состоянии работать, "rebuild-copy-package" сценарий интеграции на любом решении (запускающий тесты мог бы потребовать обеспечения настроек соединения с БД перед этим).
  • сервер SVN надежен и сохранен регулярно.
  • Изменения распространяются между различными решениями, составляющими приложение (т.е. от открытого исходного кода совместно использовал библиотеку к внутреннему коду, который усиливает его), только через фиксации (сервер интеграции берет это и создает пакеты, которые могли использоваться в решениях в нисходящем направлении).
  • проекты Песочницы (прототипы) всегда сохраняются в папке Prototypes SVN (одноуровневый элемент Соединительной линии или Тегов) названным "YYYY-MM-DD PrototypeName"
2
ответ дан Rinat Abdullin 29 November 2019 в 06:14
поделиться

не ИСПОЛЬЗУЮТ ДВУНАПРАВЛЕННЫЕ СИНХРОНИЗИРУЮЩИЕ ИНСТРУМЕНТЫ ДЛЯ РЕЗЕРВНОГО КОПИРОВАНИЯ

... хорошо, по крайней мере, не автоматически

, инструменты Sync, такие как унисон синхронизация два (или больше) местоположения. Таким образом, если Вы случайно испортите файл в одном месте, путаница будет преобразована к другому, и Вы не заметите.

2
ответ дан Boris Gorelik 29 November 2019 в 06:14
поделиться

Я использую Унисон для тиражирования моего всего корневого каталога на двух различных машинах дома. Таким образом, если я неаккуратен или если у меня есть 20-летние файлы не при управлении исходным кодом (.emacs) я все еще, имеет меру защиты. Я также копирую все кроме персональных файлов (фотографии, музыка) на машине на работе также.

2
ответ дан Norman Ramsey 29 November 2019 в 06:14
поделиться

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

2
ответ дан Jared 29 November 2019 в 06:14
поделиться

никто не хочет должным быть восстановить их весь каталог проекта от SCC, если дисковод перестает работать

Ха? Мы всегда делаем это этот путь. На самом деле у нас есть сервер сборки, который непрерывно выполняет новые сборки от чистого контроля. Если восстановление от резервного копирования, кажется, лучший путь, чем восстановление от SCC, необходимо улучшить SCC.

Для всего кода, который не готов к производству, у нас есть каталог, названный "детской площадкой" и "спамом" в SCC.

3
ответ дан martinus 29 November 2019 в 06:14
поделиться

Хотя это - субъективный ответ, я думаю, что Вы не используете управление исходным кодом правильно.

Да, Ваша локальная копия часто не синхронизирована с репозиторием, но любое данное изменение должно только быть небольшим количеством работы (например, у Вас не должно быть материала, в котором не регистрируются очень долго). Если Вы фиксируете часто, то в случае потери диска (воровство/отказ/и т.д.) Вы теряете небольшое количество (обычно < 1 день) работы.

при выполнении чего-то полностью сумасшедшего, которое является подрывным другим разработчикам, тогда необходимо работать в ответвлении. Когда Вы сделаны, объединяете свои изменения назад.

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

2
ответ дан gregmac 29 November 2019 в 06:14
поделиться

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

я использовал некоторые старые аппаратные средства, которые я работаю на Linux и сервере Подрывной деятельности, на который я соглашаюсь. Тогда у меня есть сценарий крона, архивируя репозиторий (если изменено с прошлого раза) каждую ночь, и присоединение его в почте к моему Gmail считает с журналом изменений в теле. С пределом вложения на 20 МБ на Gmail все кроме большинства двоичных интенсивных репозиториев могут быть сохранены с разделением файлов.

я планирую переделать это, чтобы поместить резервные копии на Amazon S3, но иметь не вокруг, чтобы сделать это все же.

самая важная вещь, по моему скромному мнению, состоит в том, чтобы всегда иметь резервное копирование где-нибудь еще (географически), не только на Карте памяти или чем-то.

В случае очень маленьких 5 минут тестирует, я поместил их в свой Dropbox (www.getdropbox.com).

3
ответ дан stpe 29 November 2019 в 06:14
поделиться

Я использую Microsoft SyncToy 2.0 для синхронизации моих каталогов проекта с папкой на сетевом ресурсе. У меня есть отдельные запланированные задачи, которые выполняют различные сценарии SyncToy для различных каталогов (сломанный версией Visual Studio).

3
ответ дан tvanfosson 29 November 2019 в 06:14
поделиться

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

5
ответ дан Reunanen 29 November 2019 в 06:14
поделиться
6
ответ дан Hates_ 29 November 2019 в 06:14
поделиться

(В дополнение к управлению исходным кодом к удаленному серверу), я использую бесплатную версию SyncBack (www.2brightsparks.com) и этот пакетный файл: (где аргументы syncback.exe определяют ранее настроенные резервные профили syncback)

@echo off

echo Stop and start SQL Server
echo -------------------------

net stop "SQL Server (SQLEXPRESS)"
net stop "SQL Server (SQLSERVER2008)"
echo -----------------------------------------------------------
echo Back up running now... please wait.

"C:\Program Files\2BrightSparks\SyncBack\SyncBack.exe" c e-contents f-contents

echo Backing up done. Starting SQL Server...
echo -----------------------------------------------------------

net start "SQL Server (SQLEXPRESS)"
net start "SQL Server (SQLSERVER2008)"

echo -----------------------------------------------------------
echo Back up is done and SQL Server is running now.
echo -----------------------------------------------------------

pause

с двумя флеш-накопителями на 8 ГБ каждый день. В конце недели я делаю то же самое, но тогда нацелен на настольный внешний диск.

SyncBack является большим!

6
ответ дан rp. 29 November 2019 в 06:14
поделиться

В конце дня я проверяю свой код в управлении исходным кодом.

приблизительно В полночь Mozy ударяет на и создает резервную копию моего кода от сайта.

около 1:00 поле SC сохранено для записи на ленту.

около 3:00 Syncback SE просыпается и создает резервную копию моего кода к внешнему HD.

В течение дня мое поле работы синхронизирует с моим домашним полем с помощью Живая Синхронизация

11
ответ дан PhiLho 29 November 2019 в 06:14
поделиться

Джоэл из joelonsoftware сказал в каком-то посте, что если для сборки и развертывания вашего проекта требуется более двух командных строк (или более одной минуты на подготовку), вы делаете это неправильно. Я полностью с ним согласен и думаю, что SCM должно быть достаточно. системы резервного копирования предназначены только для катастрофических бедствий (отказы жесткого диска, пожары и торнадо).

0
ответ дан 29 November 2019 в 06:14
поделиться

Оперативное (Интернет) резервное копирование - важная часть процесса.

Все виды резервного копирования на внешние диски обречены на неудачу, если они не выполняются назначенным персоналом (например, секретарем). Если вы очень маленький магазин (или µ-ISV, как я), это не вариант. Даже тогда, где хранится внешний диск? Сейф с противопожарной защитой - единственно возможный хороший ответ. Хранить их вне офиса - нехорошо: люди БУДУТ забывать приносить их в офис для периодического резервного копирования.

Резервное копирование на NAS - ИМХО, лучшее решение, чем внешние диски. Но в тот день, когда здание горит, резервное копирование вне офиса - ваш единственный шанс остаться в живых.

Я лично использую Mozy для резервного копирования основных локальных каталогов в дополнение к базе данных SCC.

Излишне говорить, что шифрование AES-256 или аналогичное необходимо для хранения вашего исходного кода на чужих жестких дисках. Его предлагают Mozy и все его серьезные конкуренты.

0
ответ дан 29 November 2019 в 06:14
поделиться

Я использую продукт (который я написал, это мой микро-isv) под названием Transactor Code Agent. Это инструмент резервного копирования, разработанный специально для программистов.

Он наблюдает за вашим исходным кодом, и каждый раз, когда вы сохраняете изменение, он создает его резервную копию и сохраняет для вас локальную историю.

Я думаю, что он работает намного лучше для резервного копирования, чем Система управления версиями работает по нескольким причинам:

  1. Система управления версиями предназначена для управления изменениями, чтобы помочь вашей программе перейти из одного согласованного состояния в другое
  2. Вам не нужно беспокоиться об обслуживании частной ветки
  3. Вам не нужно прерывать работу, чтобы делать проверки исключительно в целях резервного копирования. Вы можете просто сосредоточиться на написании кода и проверить свои данные, когда он будет готов.

Вы можете скачать его демо здесь:

http://www.transactor.com/download

1
ответ дан 29 November 2019 в 06:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: