Резервное копирование данных одной командой Shell

 

 BashShellсниппет

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

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

cp -a ~/Documents/projects /mnt/backups/projects.$(date +%Y-%m-%d) 

При выполнении этой команды происходит полное рекурсивное копирование содержимого директории ~/Documents/projects в директорию /mnt/backups/projects.2014-04-09 с сохранение свойств копируемых элементов. Имя директории резервной копии данных формируется автоматически и включает в себя дату выполнения резервного копирования.

После завершения копирования можно проверить существование различий между созданной резервной копией и оригиналом.

diff -arq ~/Documents/projects /mnt/backups/projects.$(date +%Y-%m-%d) 

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

Рассмотренный способ - это не идеальный, но простой и доступный вариант для обеспечения сохранности данных. Он подходит, как для домашнего использования, так и для использования в корпоративных системах с учётом специфики их работы.