Добрый день.
Товарищи, подскажите пожалуйста в таком вопросе:
Есть сервер на ubuntu-server 14.04, есть машина на Windows 7, необходимо раз в месяц полностью копировать ubuntu-сервер и класть бэкап на машину с Windows. То есть делать полную копию жесткого диска с последующим копированием по локальной сети, чтобы в случае смерти жесткого диска(очень жесткие условия эксплуатации и жесткие диски мрут каждые полгода), просто развернуть бэкап на новый жесткий диск и вставив его в сервер, возобновить его работу.
Подскажите, каким инструментом это все можно осуществить?
Заранее спасибо.
-
Вопрос задан
-
1986 просмотров
Пригласить эксперта
Разбиваем задачу на несколько логически простых-
1)Создать образ системы.
3)Создать копию данных
3)Перемещение образа и копии данных в хранилище бэкапов.
Создать образ можно с помощью например partimage, хотя в данном случае думаю будет уместней remastersys.
Чем копировать сами данные сильно зависит от собственно данных — думаю тут вопросов не возникнет.
Переместить в хранилище — монтируем сетевую шару и пишем туда.
Есть такой проект https://www.cygwin.com/. Это linux-утилиты под windows, там есть и ssh и rsync. Дальше думаю придумаете как вам поступить. Я на вашем месте через cygwin по rsync копировал все содержимое сервера с одновременным сжатием в tar.gz, чтобы не потерять разрешения на файлы.
погугли LVM backup / restore , кроме того делай raid и просто меняй вылетающие винты
Думаю, задача изначально поставлена неверно.
Здесь уместнее поставить вторую машину на той же Убунте, синхронизировать их rsync-ом и держать диски на этой машине так же открытыми, но только на чтение.
Получите спасение не только от смерти винта, но и от «мышка махнула, папочка удалилась» и даже от «взял и записал документ поверх нужного». Причем пользователи сами смогут по простой инструкции спасать свои головы.
-
Показать ещё
Загружается…
10 окт. 2023, в 13:56
10000 руб./за проект
10 окт. 2023, в 13:55
2000 руб./в час
10 окт. 2023, в 13:38
1500 руб./в час
Минуточку внимания
(Image credit: Windows Central)
Regular backups are a good thing. You never know when something bad is going to happen and having a backup of the data on your PC could save more than a few headaches.
If you’re dabbling with the Windows Subsystem for Linux (WSL), it might not have crossed your mind. WSL is incredibly easy to set up, and if you destroy an installation it’s always fast to get going again. But you can, and probably should, take regular backups if you’re using it a lot.
Here we’ll show you how to export your entire Linux distribution into a file on your Windows 10 PC for safe keeping.
How to backup a WSL distribution
The neat thing about doing this is that you only need a single command in PowerShell to choose which of your distributions you want to export and the file name you want to give it.
There are a couple of things you might want to do before you begin, though.
- Run
wsl -l -v
to get a full list of the distribution names. This is important because you need to match exactly, and if you have «Ubuntu-20.04» you will need to use that. Just «Ubuntu» won’t work. - Use the
cd
command to navigate into the directory you want to save your export to. It will save to whatever directory you’re at the command line in, which by default will be your users folder.
Once you’re happy with the above, the export command follows this template:
wsl --export (distribution) (filename.tar)
So, to export Ubuntu 20.04 the command would be:
wsl --export Ubuntu-20.04 ubuntubackup.tar
Make sure to add the .tar extension as well to your filename otherwise you may run into some issues.
It only takes a few seconds to run and then you’ll be able to see the exported backup in whichever folder you saved it to.
Importing a previously exported .tar file
If you’re using the export feature to backup one of your WSL Linux distributions then there’s a good chance you might also want to use it at some point.
Fortunately, should the moment arise, there is an equally simple command template to import your .tar files to a specified install location.
wsl --import (distribution) (install location) (file location and filename)
So it might look something like:
wsl --import Ubuntu-20.04 C:\Users\MyPC\AppData\Local\Packages\Ubuntu C:\Users\MyPC\Documents\ubuntubackup.tar
To check it imported correctly, run the
wsl --list
command and you should now see your newly imported distribution.
All the latest news, reviews, and guides for Windows and Xbox diehards.
Richard Devine is a Managing Editor at Windows Central with over a decade of experience. A former Project Manager and long-term tech addict, he joined Mobile Nations in 2011 and has been found on Android Central and iMore as well as Windows Central. Currently, you’ll find him steering the site’s coverage of all manner of PC hardware and reviews. Find him on Mastodon at mstdn.social/@richdevine
В этом сообщение я представлю вам BackupPC, программный кросс-платформенный бэкап сервер, который через сеть может вытянуть резервное копирование клиентов Linux, Windows и MacOS. В BackupPC добавлено ряд функций, которые делают резервное копированиче чуть ли не приятной вещью.
BackupPC поставляется с надёжным веб-интерфейсом, который позволяет вам собирать и управлять централизованным образом резервными копированиями других удалённых хостов. Используя веб-интерфейс, вы можете изучить файлы журналов и конфигурационные файлы, запустить/отменить/настроить расписания резервных копирований удалённых хостов и визуализировать текущий статус задач резервного копирования. Вы также можете просматривать архивные файлы и очень просто восстанавливать отдельные файлы или всё полностью из архивов бэкапов. Для восстановления индивидуальных отдельных файлов, вы можете загружать их из предыдущих бэкапов прямо в веб-интерфейсе. Если этого недостаточно, не требуется специальной программы на стороне клиента для клиентских хостов. На Windows клиентах используется родной протокол SMB, в то время как на *nix клиентах вы будете использовать rsync или tar через SSH, RSH или NFS.
Установка BackupPC
На Debian, Ubuntu, Mint и их производных запустите следующую команду.
# aptitude install backuppc
На Fedora используйте команду yum command. Обратите внимание, что имя пакета регистрозависимое.
# yum install BackupPC
На CentOS/RHEL 6 сначала включите репозиторий EPEL. На CentOS/RHEL 7 включите вместо репозиторий Nux Dextop. Затем продолжайте с командой yum:
# yum install BackupPC
Далее команды на разных дистрибутивах Linux идентичны, пользователи Debian, Ubuntu, Mint и их производных не забывайте ставить sudo перед каждой командой.
Как обычно, обе системы управления пакетами будут заботиться об автоматическом разрешении зависимостей. В дополнение как часть установочного процесса, вас могут спросить настроить почтовый сервер, настроить или перенастроить веб-сервер, который будет использован для графического пользовательского интерфейса. Я не стал ничего настраивать в почтовом сервере (чтобы не удлинять инструкцию). Следующие скриншоты из системы Debian:
Сделайте ваш выбор нажав на пробел и затем перейдите к Ок, используя кнопку [Tab], и нажмите [Enter].
Вам будет представлена следующий экран, информирующий вас, что администраторский пользовательский аккаунт ‘backuppc’ с соответствующим ему паролем (который, по желанию, может быть изменён), был создан для управления BackupPC. Обратите внимание, что пользовательский аккаунт HTTP и обычный Linux аккаунт с одинаковым именем ‘backuppc’ будут созданы с идентичным паролем. Первый нужен для получения доступа в защищённый веб-интерфейс BackupPC, в то время как второй нужен для выполнения резервного копирования используя rsync через SSH.
Вы можете изменить пароль по умолчанию для HTTP пользователя ‘backuppc’ следующей командой:
htpasswd /etc/backuppc/htpasswd backuppc
Для изменения обычного ‘backuppc’ пользовательского аккаунта Linux, используйте команду passwd.
# passwd backuppc
Обратите внимание, что установочный процесс автоматически создаст веб и программный конфигурационные файлы.
Запуск BackupPC и настройка Backups
Чтобы начать, откройте окно браузера по адресу http://<доменное имя или IP адрес сервера>/backuppc/. Когда появится окно запроса, введите данные HTTP пользователя, которые были предоставлены вам ранее. Если авторизация успешна, вас перекинет на главную страницу веб-интерфейса.
Наиболее вероятно, первое, что вам нужно сделать, это добавить хосты клиентов для резервного копирования. Перейдите в «Edit Hosts» (редактирвоание хостов) в панеле задач. Мы добавим два клиентских хоста:
- Host #1: CentOS 7 [IP 192.168.0.17]
- Host #2: Windows 7 [IP 192.168.0.103]
Мы будем делать резервное копирование CentOS, используя rsync через SSH, и хоста Windows, используя SMB. До выполнения резервного копирования, нам нужно настроить основанную на ключе аутентификацию на наш хост CentOS и сделать доступной по сети (расшарить) каталог на Windows машине.
Вот инструкция для настройки аутентификации, основанной на ключе, для удалённого хоста CentOS. Мы создаём пользователю ‘backuppc’ пару ключей RSA и переносим публичный ключ в аккаунт рута хоста CentOS.
# usermod -s /bin/bash backuppc # su - backuppc # ssh-keygen -t rsa # ssh-copy-id [email protected]
Когда спросят, напечатайте yes и введите пароль рута для 192.168.0.17.
Вам понадобиться рут доступ для удалённого хоста CentOS для получения доступа записи на всю файловую систему в случае восстановления бэкапа файлов или каталогов, собственником которых является рут.
Когда хосты CentOS и Windows готовы, добавьте их в BackupPC используя веб-интерфейс:
Следующий шаг состоит из изменения настроек резервного копирования каждого хоста:
Следующее изображение показывает настройку для резервного копирования на Windows машине:
А следующий скриншот показывает настройку резервного копирования для CentOS:
Запуск резервного копирования
Для запуска каждого резервного копирования, перейдите к настройкам каждого хоста, а затем кликните «Start Full Backup»:
В любое время, вы можете просмотреть статус процесса, кликнув на home хоста, как показано в изображении выше. Если это по каким-либо причинам не получилось, также появится ссылка на страницу с сообщением ошибки (ошибок) в меню хоста. Когда резервное копирвоание завершено успешно, на сервере создаётся каталог с названием хоста или IP адресом в /var/lib/backuppc/pc:
Вы можете переходить по каталогам в поисках файлов, используя командную строку, но есть и более простой способ обозревать эти файлы и восстанавливать их.
Восстановление резервных копий
Для просмотра сохранённых файлов, переходите в раздел «Browse backups», что находится в главном меню хоста. Вы можете визуализировать каталоги и файлы с первого взгляда и выбрать те, которые вы хотите восстановить. Как вариант, вы можете кликнуть по файлу и открыть его, используя программу по умолчанию, или кликните правой кнопкой и выберете Сохранить ссылку, для его загрузки на машину, где вы работаете в данный момент:
Если хотите, то можете загрузить файлы zip или tar, заключающие содержание резеврных копий или просто восстановите файл (файлы) на прежнее место:
Заключение
Говорят «Чем проще — тем лучше», и именно это предлагает BackupPC. В BackupPC вы найдёте не только инструмент для резервного копирования, но также разносторонний интерфейс для управления вашими резервными копиями нескольких операционных систем без необходимости приложения на стороне клиента. Я уверен, что более чем достаточная причина, чтобы хотя бы попробовать.
Оставляйте ваши комментарии и вопросы, если они у вас есть, используя форму внизу. Я всегда счастлив услышать, что говорят читатели!
Всем добра, уважаемые читатели и гости. Сегодня публикую маленькую заметку о том, как сделать резервную копию файлов сайта по SSH. В интернете куча статей на данную тему, но чем я хочу выделить данную заметку? Тем, что при создании резервной копии на Windows машине с Linux\UNIX хостинга я столкнулся с множеством неудобств и проблем, которые я избежал, используя plink и putty.
Исходные данные для backup
Итак, имеем:
- Linux\UNIX хостинг с доступом по SSH, адрес хоста: ssh.host.example
- Компьютер с Windows, с помощью которого производим администрирование сайта.
- командный интерфейс plink, который поставляется с ssh клиентом PuTTY
- доступ в интернет для связи 1го и 2го.
- имя пользователя на хостинге: user
- пароль: P@sswOrd
- каталог, где размещены файлы сайта: /var/www/host.example
Проблема backup
- Очень часто, размещая сайт на хостинге, хостер предъявляет высокие требования и лимиты к операциям ввода-вывода на диск. В результате, при создании резервной копии в ssh консоли хостинга, процесс зашкаливающий по лимитам хостинга может быть убит и архив получится битый.
- Так же, типичная ситуация, когда у тебя файлы сайта занимают 70-80% дискового пространства, предоставленного хостингом, и при создании архива из ssh консоли хостинга — для полного архива не хватает места.
- Дополнительно, хостер может убивать процессы, которые создают большую нагрузку на CPU. Это тоже приведет к некорректно созданному архиву.
- Для создания архива с Windows машины необходимо проделать кучу действий: 1. подключиться к консоли по ssh, 2. создать архив, 3. подключиться SCP/SFTP клиентом, 4. скопировать файл архива, 5. удалить архив. Тут же мы выполняем все это одной командой.
Решение проблемы backup через plink
В общем, ранее меня эти проблемы не напрягали, т.к. бэкап нужно было делать не часто, а когда я стал дорабатывать блог, то оперативные архивы стали очень необходимы и я стал искать решения. Я знал, что подключаясь из Linux — это делается элементарно, через pipe. Поэтому я стал искать аналогию на Windows. В конечном счете, необходимо было выполнить команду на удаленном сервере, которая создаст архив и сложит его в локальную папку на клиенте. Долго искать не пришлось — мне помог plink. Как говориться, все гениальное — просто: качаем putty и plink. Выполняем следующие действия, открыв cmd в каталоге с plink.exe:
c:\PuTTY_folder>plink -pw P@sswOrd [email protected] tar czf - /var/www/host.example > c:\backup_by_plink\backup_of_my_site.tar.gz
Здесь:
- plink — собственно, сам exe’шник
- -pw P@sswOrd — пароль к учетной записи user
- [email protected] — имя пользователи и хост, на котором буде выполнены программа
- tar czf — /var/www/host.example — собственно, исполняемая программа (читаем основные команды linux). Указывая «-» мы говорим tar’y выводить архив на консоль (вернее stdout).
- > — символ командной строки Windows, осуществляющий перенаправление вывода команды в файл (аналог pipe в Linux)
- c:\backup_by_plink\backup_of_my_site.tar.gz — место сохранения архива.
Т.о. мы решаем все 4 проблемы. При этом, если отключим компрессию (ключ z), то практически снизим нагрузку на CPU на хостинге.
Ссылки
Plink и Putty — http://www.chiark.greenend.org.uk/~sgtatham/putty/
документация — http://www.chiark.greenend.org.uk/~sgtatham/putty/docs.html
документация на русском — http://putty.org.ru/docs.html
P.S.
Надеюсь, что кроме меня данная заметка будет кому-то полезна. Так же, хочу отметить, что кроме tar, тут никто не мешает использовать mysqldump, например. До новых встреч!
С Уважением, Mc.Sim!
Теги:
У нас идёт цикл об информационной суверенности: как не зависеть от зарубежных сервисов в важных компьютерных делах. Сейчас говорим о защите важных файлов. Эта операция из нескольких этапов:
- Настройка автоматического копирования на компьютере ← вы здесь.
- Запуск собственного удалённого файлового сервера ← на следующей неделе.
- Настройка автоматического копирования на свой сервер.
В чём задача
Задача — сделать так, чтобы важные файлы на нашем компьютере копировались в безопасное место без нашего участия. Например, можно иметь безопасную флешку, на которую при подключении будут записываться свежие версии важных файлов.
Важно, чтобы это происходило автоматически, то есть без вашего участия. Если флешка вставлена, на неё всё копируется само. Если не вставлена, ничего не происходит.
Решение будет состоять из двух частей:
- Нечто, что будет копировать файл без нашего участия.
- Нечто, что будет запускать копирование в нужный момент.
Что делаем
Сначала напишем скрипт, который делает бэкапы, а потом настроим всё так, чтобы он запускался автоматически. Звучит сложно, но на деле всё займёт 5 минут.
Скрипт мы сделаем с помощью системной утилиты rsync на Linux или Mac OS. На Windows используем утилиту nnBackup.
Автоматику будем запускать с помощью crontab — планировщика задач для Linux и Mac OS. На Windows используем либо встроенный планировщик задач, либо nnCron — клон crontab.
Большинство автоматизаций делается на скриптах и выполняется в терминале (командной строке). Достаточно разобраться с этим один раз, чтобы оценить всю мощь и глубину такого подхода. Помните, во всех фильмах про хакеров они что-то пишут, бегут строчки кода и всё работает? Будем делать то же самое.
Настраиваем резервное копирование в Mac OS и Linux
Чтобы скопировать данные из одного места в другое, во всех дистрибутивах Linux, UNIX и Mac OS используют команду rsync. Она почти всегда идёт в комплекте с системой и решает только одну задачу — что-то куда-то копирует, при этом сам процесс можно настроить довольно гибко.
Общий вид команды такой:
rsync -как_копируем что_копируем куда_копируем
Что_копируем
— это путь к папкам, где лежат наши данные. Их мы будем копировать
Куда_копируем
— это путь к папке, где будет храниться бэкап. Если второй папки нет, программа сама её создаст. Если папка на другом устройстве, а самого устройства в системе нет, rsync может завершить работу.
-как_копируем
— её параметры копирования. Их очень много; если нужен полный список, наберите rsync —help. Сейчас нас интересует только два параметра — архив и вывод на экран. Для справки — вот полный перечень:
-v, —verbose | выводить на экран всё, что программа делает |
-q, —quiet | тихонько работать, если нет ошибок |
-c, —checksum | пропускать ненужные файлы, смотря на контрольную сумму, а не на дату |
-a, —archive | сделать архив; то же самое, как если использовать ключи -rlptgoD (no -H,-A,-X) |
—no-OPTION | не использовать какие-то опции (например, —no-D) |
-r, —recursive | обработать все вложенные папки и подпапки |
-R, —relative | использовать относительные пути к файлам |
-b, —backup | сделать бэкап-файл |
-u, —update | пропустить файлы, если в папке назначения они более свежие |
—inplace | обновить файлы в папке назначения |
-d, —dirs | обработать просто папку, без вложенных папок |
-p, —perms | сохранять разрешения |
-E, —executability | сохранять флаг возможности выполнения файла |
—chmod=CHMOD | поменять права доступа к файлам или папкам |
-X, —xattrs | сохранять внешние атрибуты файла |
-o, —owner | сохранять владельца (только для суперпользователя) |
-g, —group | сохранять группу |
—devices | сохранять файлы устройств (только для суперпользователя) |
—specials | сохранять специальные файлы |
-D | то же самое, что —devices —specials |
-t, —times | сохранять время изменения файлов |
-O, —omit-dir-times | не смотреть на папки при использовании —times |
—super | экран помощи |
—fake-super | сохранять или восстанавливать особые атрибуты, используя xattrs |
-n, —dry-run | запустить вхолостую, без изменений в файлах, просто чтобы убедиться, что ошибок не будет |
-W, —whole-file | копировать файлы целиком |
-e, —rsh=COMMAND | указать программу выполнения на удалённом компьютере |
—rsync-path=PROGRAM | путь к команде rsync на удалённом компьютере |
—existing | пропустить создание новых файлов на получателе |
—ignore-existing | не обновлять уже существующие файлы на получателе |
—remove-source-files | удалить синхронизированные файлы у отправителя (не влияет на папки) |
—del | то же самое, что —delete-during |
—delete | удалить посторонние файлы из папки получателя |
—delete-before | удалить всё у получателя перед передачей данных (используется по умолчанию) |
—delete-during | удалять файлы во время передачи |
—delete-delay | сначала найти все удаляемые файлы, а потом удалить все сразу |
—delete-after | получатель удаляет необходимые файлы после получения нужных файлов, а не до этого |
—delete-excluded | если в конечной папке есть файлы, которые попали под исключения, и их надо удалить — всё равно удалить их |
—ignore-errors | удалять файлы, даже если есть ошибки ввода-вывода |
—force | даже если папка не пустая, всё равно удалять её |
—max-delete=NUM | не удалять более стольких-то (NUM) файлов |
—max-size=SIZE | не трогать файлы больше размера SIZE |
—min-size=SIZE | не трогать файлы меньше размера SIZE |
—partial | если файл передался не полностью, всё равно сохранить его |
—partial-dir=DIR | если файл передался не полностью, положить его в папку DIR |
—delay-updates | обработать обновлённые файлы в последнюю очередь |
-m, —prune-empty-dirs | выбросить пустые папки из списка файлов на копирование |
-I, —ignore-times | не пропускать файлы, если они совпадают по времени и размеру |
—size-only | если файлы одинаковые по размеру, пропустить |
—modify-window=NUM | сравнить время изменения файлов с уменьшенной точностью (чтобы файл, изменённый через секунду, например, не считался новым) |
-T, —temp-dir=DIR | create temporary files in directory DIR |
-y, —fuzzy | если конечного файла нет, найти похожие |
—compare-dest=DIR | ещё сравнить полученные файлы относительно каталога DIR |
—copy-dest=DIR | …и приложить копии неизменённых файлов |
-z, —compress | сжимать данные при передаче |
-C, —cvs-exclude | игнорировать файлы по типу CVS |
-f, —filter=RULE | добавить правило RULE для фильтрации файлов |
-F | то же, что —filter=’dir-merge /.rsync-filter’ |
—exclude=PATTERN | исключить из копирования файлы, которые совпадают с паттерном PATTERN |
—exclude-from=FILE | взять из FILE паттерны, по которым исключить файлы из копирования |
—include=PATTERN | не исключать из копирования файлы, которые совпадают с паттерном PATTERN |
—include-from=FILE | взять из FILE параметры включения файлов в задачу копирования |
—files-from=FILE | забрать список исходных файлов для копирования из FILE |
—port=PORT | дополнительный порт для обмена данными с удалённым компьютером |
—sockopts=OPTIONS | особые параметры связи с сервером по TCP |
—stats | вывести статистику по передаче файлов |
-8, —8-bit-output | оставить нетронутыми восьмибитные символы во время вывода на экран |
-h, —human-readable | вывести всё в формате, понятном человеку |
—progress | показывать прогресс передачи |
-P | то же самое, что —partial —progress |
-i, —itemize-changes | вывести отчёт об изменениях в копированных файлах |
—log-file=FILE | записать в FILE лог событий копирования |
—password-file=FILE | взять пароль демона из FILE |
—list-only | не копировать файлы, а просто перечислить |
—bwlimit=KBPS | ограничить пропускную способность канала передачи данных, если копируем через интернет |
—protocol=NUM | использовать более древний протокол для совместимости со старым софтом и железом |
—iconv=CONVERT_SPEC | запросить преобразование названий файлов в зависимости от языка |
-4, —ipv4 | использовать протокол TCP IPv4 |
-6, —ipv6 | использовать протокол TCP IPv6 |
—version | показать версию программы |
(-h) —help | показать помощь |
Чтобы команда знала, что нам нужно не просто скопировать, а сделать бэкап, используется ключ -a. Без него компьютер будет просто копировать файлы каждый раз, даже если в резервной копии они уже есть, и тратить на это каждый раз много времени. А с ключом -a команда поймёт, что это бэкап, и не будет туда добавлять те файлы, которые там уже есть. А если в бэкапе будет лежать старая версия, а у нас уже новая, то она просто заменит старую на новую, чтобы у нас всегда были актуальные данные.
Вывод на экран — необязательный параметр, который не влияет на экран, но сейчас нам он пригодится. Его смысл в том, что так компьютер будет выводить название каждого файла, который он копирует в данный момент, — так мы увидим, что всё работает как нужно.
Ещё есть ключ —delete — он означает, что если в исходной папке какой-то файл уже удалён, то и в бэкапе его тоже нужно удалить. Если вам в резервных копиях нужна точная копия какой-то папки — добавляйте этот параметр при запуске.
Например, если нам нужно на флешке сделать бэкап папки с фотографиями, то пишем такую команду:
rsync -av /Users/mike/Pictures /Volumes/WIN10_64/Pictures
Вот что она означает:
rsync
— название нашей команды;-av
— добавляем архивный ключ и вывод процесса на экран;/Users/mike/Pictures
— здесь лежат фотографии;/Volumes/WIN10_64/Pictures
— на флешке с названием WIN10_64 появится папка Pictures, в которой будет лежать бэкап.
Если бы нам понадобилось сделать не архивный бэкап (со всеми старыми файлами), а точную копию папки с фото, то добавился бы ключ —delele:
rsync -av --delete /Users/mike/Pictures /Volumes/WIN10_64/Pictures
Что за пути к файлам? В наших примерах используются адреса файлов, которые применяются в Linux и Mac OS. В них отсчёт идёт не от физического диска, как в Windows, а от корневой папки системы. В папке есть подпапка Users, где живут данные разных пользователей системы. В папке Users лежит папка mike — это папка пользователя Миши. Внутри этой папки уже лежат все его документы.
В Windows это выглядело бы, например, так: C:/Users/mike/Pictures
.
Резервное копирование в Windows
Для Windows нет родной команды rsync, поэтому разработчику Николаю Немцову пришлось сделать её аналог — nnBackup. Она устанавливается как обычная программа, и потом тоже запускается из командной строки. Чтобы с ней было проще работать, ставим её в свою папку в корень диска C:
Единственное, что отличается в работе, — порядок аргументов и ключи запуска. Чтобы получить тот же результат, что и в предыдущем примере, нужно в командной строке написать такое:
nnbackup.exe sync -i C:\Users\Mike\Pictures\ -o
F:\Pictures\ -v -da
Теперь посмотрим, что внутри:
nnbackup.exe
— название команды, которую мы хотим выполнить;
— параметр, который отвечает за создание именно резервной копии выбранной папки;sync
-i
— ключ, после которого идёт путь к исходной папке;-o
— ключ, после которого идёт путь к папке назначения, где будет создан бэкап;-v
— выводим ход процесса на экран;-da
— показываем, что нам нужно удалить в бэкапе те файлы, которых нет в исходной папке. Если ничего удалять не хотите, удалите этот параметр из команды.
Устанавливаем nnBackup на диск C:
А что, если мне нужно создать бэкап нескольких папок?
Чтобы сделать копии нескольких папок, нужно выполнить несколько команд подряд — сначала для одной папки, потом для другой и так далее. Компьютер сделает всё по очереди.
rsync -av --delete /Users/mike/Pictures /Volumes/WIN10_64/Pictures
rsync -av --delete /Users/mike/Misic /Volumes/WIN10_64/Music
Как будет работать автоматизация
Мы научились создавать бэкапы, но пока всё делается вручную. Это не дело — нужно, чтобы компьютер следил за этим сам.
Самый простой способ автоматизировать бэкапы — настроить выполнение команд по времени, например каждые 10 минут. Работает это так:
- Когда проходят очередные 10 минут, компьютер запускает нашу команду на создание бэкапа.
- Если флешка вставлена — всё отлично, бекап делается, данные в безопасности.
- Если флешка не вставлена — компьютер попытается выполнить нашу команду, не найдёт флешки и просто закончит выполнение команды.
- В итоге достаточно будет вставить флешку, и через 10 минут у вас начнёт создаваться актуальная резервная копия всех важных данных.
Интервал в 10 минут мы выбрали сами — можно поставить и раз в минуту, и раз в день, всё зависит от того, насколько часто у вас обновляются за день нужные данные.
Настраиваем расписание в Mac OS и Linux
За запуск команд по расписанию в Mac OS и Linux отвечает команда crontab. У неё много параметров и возможностей, но сейчас нас интересует только одно — как с её помощью запускать нашу команду для бэкапа раз в 10 минут.
Для этого делаем так.
- В терминале пишем команду
crontab -e
и нажимаем Enter. - Появляется окно редактора, где нужно нажать сначала s, а потом вставить такую строчку:
*/10 * * * * rsync -av --delete /Users/mike/Pictures /Volumes/WIN10_64/Pictures
- Нажимаем сначала Esc, а потом по очереди :wq (двоеточие, потом w, потом q) — это сохранит нашу команду и закроет редактор.
- Проверяем, что всё записалось командой
crontab -l
— мы должны увидеть свою команду.
За запуск каждые 10 минут отвечает начало команды — */10 * * * *
. Остальные звёздочки отвечают за часы, дни, недели и месяцы, а косая черта — за постоянное повторение каждые сколько-то минут.
Теперь 6 раз в час наша команда будет запускаться и следить за актуальностью резервной копии. Если нужно несколько команд, то просто добавьте новые строчки и сохраните всё таким же образом.
Настраиваем расписание в Windows
Самый простой способ сделать что-то по расписанию в Windows — использовать «Планировщик заданий». Это встроенная программа с неудобным интерфейсом, но базовые вещи в ней можно настроить.
Главный минус «Планировщика» в том, что большинство служебных задач в нём сделать сложно — нужно заполнить много полей, настроек и постоянно следить за тем, от имени какого пользователя это делается.
Для запуска планировщика выберите Пуск → Средства администрирования → Планировщик заданий.
Мы пойдём другим путём — используем программу nnCron Lite. Это аналог crontab для Windows того же Николая Немцова. Скачиваем программу и устанавливаем её в папку C:\cron, чтобы было проще запускать.
Теперь нужно сказать программе, что и как запускать. Для этого в ней есть специальный текстовый файлик cron.tab — его нужно отредактировать.
Заходите в папку с программой C:\cron, находите там файл cron.tab, открываете в Блокноте. Логика наполнения такая же, как в MacOS: сначала звёздочками указываем периодичность запуска, а потом пишем команду, которую нужно выполнить. В нашем случае это будет так:
*/10 * * * * nnbackup.exe sync -i C:\Users\Mike\Pictures\ -o F:\Pictures\ -v -da
Что дальше
Резервное копирование по времени — просто, но неоптимально. Намного круче запускать создание бэкапов именно в тот момент, когда мы вставляем флешку в компьютер. Как это сделать, расскажем в будущих статьях. Подписывайтесь на нас везде, где ещё можно
Вёрстка:
Кирилл Климентьев