Опубликовано
⏰ 06.12.2019
Здравствуйте, уважаемые читатели. Сегодня тема статьи: «Бэкап общей папки Windows в Linux». Рассмотрим организацию резервного копирования общего ресурса Windows, на машину под управлением Linux.
Предположим на одном из компьютеров локальной сети, под управлением Windows, есть директория с общим доступом, в которой находятся критически важные файлы. С файлами ежедневно производятся какие-то манипуляции. Как обезопасить файлы в директории?
Можно настроить резервное копирование критически важной директории на машину под управлением Linux. Отдельной машины для этого не понадобится, если в сети есть Linux машина, которая работает в роли DHCP-сервера, шлюза, или в какой-нибудь другой роли, то можно без проблем добавить функционал резервного копирования на неё. Функционал резервного копирования не потребует больших ресурсов, кроме того, производится резервное копирование будет ночью, так что особой нагрузки на сеть также не будет.
Подготовительные действия
- Предварительно нам нужно создать необходимую инфраструктуру.
- Для хранения резервных копий, создадим директорию /rezerv.
- Кроме того, для монтирования общей папки, создадим директорию /mnt/arhiv.
# mkdir /rezerv
# mkdir /mnt/arhiv
- На компьютере под управлением Windows, создаём нового пользователя с паролем, и даём ему полный доступ на папку с критически важными файлами.
- Проверяем подключение к общей папке с Linux машины. Монтируем общую папку к созданной для этих целей директории /mnt/arhiv.
# mount -t cifs //192.168.10.20/123 /mnt/arhiv -o user=user-2,password=123
— 123 – название общей папки Windows.
— user-2 – пользователь для подключения к общей папке.
— 123 – пароль пользователя user-2.
- Если всё было сделано правильно, то Вы получите доступ к файлам общей папки Windows, зайдя в директорию /mnt/arhiv.
- Резервное копирование мы будем производить с помощью утилиты tar. В одной из предыдущих статей, мы уже пользовались утилитой для создания бэкапа файлов сайта.
Ручной бэкап общей папки Windows в Linux
- Бэкап в ручном режиме, можно сделать используя простую команду:
# tar -czvf /rezerv/docs-`date +"%Y-%m-%d_%H-%M"`.tar.gz -C /mnt/ arhiv
- В итоге в директории /rezerv, мы получим резервную копию общей папки Windows, в архиве формата: docs-Дата_Время.tar.gz
- После создания бэкапа, можно размонтировать общую папку.
# umount /mnt/arhiv
Автоматический бэкап общей папки Windows в Linux
- Для настройки автоматического резервного копирования, мы будем использовать планировщик заданий Cron. Нужно зайти в /etc/crontab и добавить задание.
- Можно создать простую задачу, как и в случае с бэкапом сайта.(Общая папка должна быть постоянно подключена)
- Задание в таком случае будет выглядеть так:
# Бэкап
00 23 * * * root /bin/tar -czf /rezerv/docs-`date +%Y-%m-%d_%H-%M`.tar.gz -C /mnt/ arhiv
- Резервное копирование будет производится каждый день в 23:00.
- Но наиболее удобным вариантом, будет настройка резервного копирования при помощи специального скрипта.
- Создаем файл /usr/local/bin/backup.sh с таким содержанием:
#!/bin/sh dir_1='/rezerv' dir_2='/mnt/' dir_3='arhiv' time=`date +"%Y-%m-%d_%H-%M"` mount -t cifs //192.168.10.20/123 /mnt/arhiv -o user=user-2,password=123 /usr/bin/tar -czvf $dir_1/docs-$time.tar.gz -C $dir_2 $dir_3 /usr/bin/find $dir_1 -type f -mtime +7 -exec rm {} ; umount /mnt/arhiv
- Три первые строчки, это директории используемые для резервного копирования.
- Четвертая строчка, это формат даты и времени.
- Дальше идёт команда для монтирования общей папки.
- После монтирования, расположена команда создания бэкапа.
- Предпоследней идёт команда удаления резервных копий старше семи дней.(Можно изменить под свои нужды)
- И последней идёт команда размонтирования общей папки Windows.
- Делаем скрипт исполняемым.
- Добавляем задание на выполнение скрипта в Cron.
# Бэкап с помощью скрипта
00 23 * * * root /usr/local/bin/backup.sh >/dev/null 2>&1
- После добавления задания, скрипт backup.sh будет выполнятся каждый день в 23:00.
Таким способом, можно организовать резервное копирование одной и более общих папок, на разных компьютерах локальной сети. Можно создать несколько скриптов, изменив переменные, и время выполнения скрипта.
Сегодня мы рассмотрели тему: «Бэкап общей папки Windows в Linux». Произвели настройку резервного копирования критически важных файлов. Смотрите также видео по теме.
Надеюсь статья была вам полезна. До встречи в новых статьях.
✍
С уважением, Андрей Бондаренко.
Видео на тему «Бэкап общей папки Windows в Linux»:
✧✧✧
Поблагодарить автора за полезную статью:
WMZ-кошелёк = Z667041230317
✧ Рубрика «Linux»
✧ Комментарии: нет
Похожие записи
rsnapshot.conf
#################################################
# rsnapshot.conf - rsnapshot configuration file #
#################################################
config_version 1.2
# All snapshots will be stored under this root directory.
#
# what ron uses
snapshot_root /bkup/private/
# If no_create_root is enabled, rsnapshot will not automatically create the
# snapshot_root directory. This is particularly useful if you are backing
# up to removable media, such as a FireWire or USB drive.
#
no_create_root 1
#################################
# EXTERNAL PROGRAM DEPENDENCIES #
#################################
# LINUX USERS: Be sure to uncomment "cmd_cp". This gives you extra features.
# EVERYONE ELSE: Leave "cmd_cp" commented out for compatibility.
#
# See the README file or the man page for more details.
#
cmd_cp /bin/cp
# uncomment this to use the rm program instead of the built-in perl routine.
#
cmd_rm /bin/rm
# rsync must be enabled for anything to work. This is the only command that
# must be enabled.
#
cmd_rsync /usr/bin/rsync
# Uncomment this to enable remote ssh backups over rsync.
#
#cmd_ssh /usr/bin/ssh
# Comment this out to disable syslog support.
#
cmd_logger /bin/logger
# Uncomment this...
# Uncomment that...
#########################################
# BACKUP LEVELS / INTERVALS #
# Must be unique and in ascending order #
# e.g. alpha, beta, gamma, etc. #
#########################################
# retain alpha 6
# retain beta 7
# retain gamma 4
# retain delta 3
# what ron uses, daily non-incremental backup via cron at 2am,
# crontab entry: * 2 * * * /usr/local/bin/rsnapshot daily
retain daily 1
############################################
# GLOBAL OPTIONS #
# All are optional, with sensible defaults #
############################################
# Verbose level, 1 through 5.
# 1 Quiet Print fatal errors only
# 2 Default Print errors and warnings only
# 3 Verbose Show equivalent shell commands being executed
# 4 Extra Verbose Show extra verbose information
# 5 Debug mode Everything
#
verbose 2
# Same as "verbose" above, but controls the amount of data sent to the
# logfile, if one is being used. The default is 3.
#
loglevel 3
# If you enable this, data will be written to the file you specify. The
# amount of data written is controlled by the "loglevel" parameter.
#
logfile /var/log/rsnapshot
[... bunch of stuff removed to post on stackexchange easier...]
###############################
### BACKUP POINTS / SCRIPTS ###
###############################
# LOCALHOST
# backup /home/ localhost/
# backup /etc/ localhost/
# backup /usr/local/ localhost/
# backup /var/log/rsnapshot localhost/
# backup /etc/passwd localhost/
# backup /home/foo/My Documents/ localhost/
# backup /foo/bar/ localhost/ one_fs=1, rsync_short_args=-urltvpog
# backup_script /usr/local/bin/backup_pgsql.sh localhost/postgres/
# You must set linux_lvm_* parameters below before using lvm snapshots
# backup lvm://vg0/xen-home/ lvm-vg0/xen-home/
# EXAMPLE.COM
# backup_exec /bin/date "+ backup of example.com started at %c"
# backup root@example.com:/home/ example.com/ +rsync_long_args=--bwlimit=16,exclude=core
# backup root@example.com:/etc/ example.com/ exclude=mtab,exclude=core
# backup_exec ssh root@example.com "mysqldump -A > /var/db/dump/mysql.sql"
# backup root@example.com:/var/db/dump/ example.com/
# backup_exec /bin/date "+ backup of example.com ended at %c"
# CVS.SOURCEFORGE.NET
# backup_script /usr/local/bin/backup_rsnapshot_cvsroot.sh rsnapshot.cvs.sourceforge.net/
# RSYNC.SAMBA.ORG
# backup rsync://rsync.samba.org/rsyncftp/ rsync.samba.org/rsyncftp/
# what ron uses, very simple, local disks
# /data is /dev/sdb1 an N tb drive
# snapshot root folder /bkup is /dev/sdc1 an n tb volume
# this will copy everything under /data to /bkup/private/mybackup/
backup /data mybackup/
If you set up a service and I think SSH is the preferred but it could be RSH or others, it’s as simple as copy from source to destination via tailoring the rsnapshot.conf file.
https://wiki.archlinux.org/index.php/Rsnapshot
https://rsnapshot.org/
http://www.mikerubel.org/computers/rsync_snapshots/
rsnapshot is a filesystem snapshot utility based on rsync. rsnapshot makes it easy to make periodic snapshots of local machines, and remote machines over ssh. The code makes extensive use of hard links whenever possible, to greatly reduce the disk space required. Rsnapshot is written entirely in perl with no module dependencies, and has been tested with versions 5.004 through 5.16.3. It should work on any reasonably modern UNIX compatible OS.
rsnapshot is great if installed on linux, and when backing up from source to destination where source is basically anything mounted on linux. Realize mounted on linux does not need to be local disks.
rsnapshot.conf
#################################################
# rsnapshot.conf - rsnapshot configuration file #
#################################################
config_version 1.2
# All snapshots will be stored under this root directory.
#
# what ron uses
snapshot_root /bkup/private/
# If no_create_root is enabled, rsnapshot will not automatically create the
# snapshot_root directory. This is particularly useful if you are backing
# up to removable media, such as a FireWire or USB drive.
#
no_create_root 1
#################################
# EXTERNAL PROGRAM DEPENDENCIES #
#################################
# LINUX USERS: Be sure to uncomment "cmd_cp". This gives you extra features.
# EVERYONE ELSE: Leave "cmd_cp" commented out for compatibility.
#
# See the README file or the man page for more details.
#
cmd_cp /bin/cp
# uncomment this to use the rm program instead of the built-in perl routine.
#
cmd_rm /bin/rm
# rsync must be enabled for anything to work. This is the only command that
# must be enabled.
#
cmd_rsync /usr/bin/rsync
# Uncomment this to enable remote ssh backups over rsync.
#
#cmd_ssh /usr/bin/ssh
# Comment this out to disable syslog support.
#
cmd_logger /bin/logger
# Uncomment this...
# Uncomment that...
#########################################
# BACKUP LEVELS / INTERVALS #
# Must be unique and in ascending order #
# e.g. alpha, beta, gamma, etc. #
#########################################
# retain alpha 6
# retain beta 7
# retain gamma 4
# retain delta 3
# what ron uses, daily non-incremental backup via cron at 2am,
# crontab entry: * 2 * * * /usr/local/bin/rsnapshot daily
retain daily 1
############################################
# GLOBAL OPTIONS #
# All are optional, with sensible defaults #
############################################
# Verbose level, 1 through 5.
# 1 Quiet Print fatal errors only
# 2 Default Print errors and warnings only
# 3 Verbose Show equivalent shell commands being executed
# 4 Extra Verbose Show extra verbose information
# 5 Debug mode Everything
#
verbose 2
# Same as "verbose" above, but controls the amount of data sent to the
# logfile, if one is being used. The default is 3.
#
loglevel 3
# If you enable this, data will be written to the file you specify. The
# amount of data written is controlled by the "loglevel" parameter.
#
logfile /var/log/rsnapshot
[... bunch of stuff removed to post on stackexchange easier...]
###############################
### BACKUP POINTS / SCRIPTS ###
###############################
# LOCALHOST
# backup /home/ localhost/
# backup /etc/ localhost/
# backup /usr/local/ localhost/
# backup /var/log/rsnapshot localhost/
# backup /etc/passwd localhost/
# backup /home/foo/My Documents/ localhost/
# backup /foo/bar/ localhost/ one_fs=1, rsync_short_args=-urltvpog
# backup_script /usr/local/bin/backup_pgsql.sh localhost/postgres/
# You must set linux_lvm_* parameters below before using lvm snapshots
# backup lvm://vg0/xen-home/ lvm-vg0/xen-home/
# EXAMPLE.COM
# backup_exec /bin/date "+ backup of example.com started at %c"
# backup root@example.com:/home/ example.com/ +rsync_long_args=--bwlimit=16,exclude=core
# backup root@example.com:/etc/ example.com/ exclude=mtab,exclude=core
# backup_exec ssh root@example.com "mysqldump -A > /var/db/dump/mysql.sql"
# backup root@example.com:/var/db/dump/ example.com/
# backup_exec /bin/date "+ backup of example.com ended at %c"
# CVS.SOURCEFORGE.NET
# backup_script /usr/local/bin/backup_rsnapshot_cvsroot.sh rsnapshot.cvs.sourceforge.net/
# RSYNC.SAMBA.ORG
# backup rsync://rsync.samba.org/rsyncftp/ rsync.samba.org/rsyncftp/
# what ron uses, very simple, local disks
# /data is /dev/sdb1 an N tb drive
# snapshot root folder /bkup is /dev/sdc1 an n tb volume
# this will copy everything under /data to /bkup/private/mybackup/
backup /data mybackup/
If you set up a service and I think SSH is the preferred but it could be RSH or others, it’s as simple as copy from source to destination via tailoring the rsnapshot.conf file.
https://wiki.archlinux.org/index.php/Rsnapshot
https://rsnapshot.org/
http://www.mikerubel.org/computers/rsync_snapshots/
rsnapshot is a filesystem snapshot utility based on rsync. rsnapshot makes it easy to make periodic snapshots of local machines, and remote machines over ssh. The code makes extensive use of hard links whenever possible, to greatly reduce the disk space required. Rsnapshot is written entirely in perl with no module dependencies, and has been tested with versions 5.004 through 5.16.3. It should work on any reasonably modern UNIX compatible OS.
rsnapshot is great if installed on linux, and when backing up from source to destination where source is basically anything mounted on linux. Realize mounted on linux does not need to be local disks.
У нас идёт цикл об информационной суверенности: как не зависеть от зарубежных сервисов в важных компьютерных делах. Сейчас говорим о защите важных файлов. Эта операция из нескольких этапов:
- Настройка автоматического копирования на компьютере ← вы здесь.
- Запуск собственного удалённого файлового сервера ← на следующей неделе.
- Настройка автоматического копирования на свой сервер.
В чём задача
Задача — сделать так, чтобы важные файлы на нашем компьютере копировались в безопасное место без нашего участия. Например, можно иметь безопасную флешку, на которую при подключении будут записываться свежие версии важных файлов.
Важно, чтобы это происходило автоматически, то есть без вашего участия. Если флешка вставлена, на неё всё копируется само. Если не вставлена, ничего не происходит.
Решение будет состоять из двух частей:
- Нечто, что будет копировать файл без нашего участия.
- Нечто, что будет запускать копирование в нужный момент.
Что делаем
Сначала напишем скрипт, который делает бэкапы, а потом настроим всё так, чтобы он запускался автоматически. Звучит сложно, но на деле всё займёт 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:UsersMikePictures -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:UsersMikePictures -o F:Pictures -v -da
Что дальше
Резервное копирование по времени — просто, но неоптимально. Намного круче запускать создание бэкапов именно в тот момент, когда мы вставляем флешку в компьютер. Как это сделать, расскажем в будущих статьях. Подписывайтесь на нас везде, где ещё можно 🙂
Вёрстка:
Кирилл Климентьев
Для восстановления после некоторых непредвиденных ситуаций, таких как человеческие ошибки, сбой диска или RAID, повреждение файловых систем, нам нужен хороший план резервного копирования. Следующие 15 лучших бесплатных программ резервного копирования с открытым исходным кодом для Ubuntu / Linux, которые мы собираемся обсудить, очень помогают избежать подобных ситуаций.
Но прежде чем перейти к основному обсуждению, давайте обсудим некоторые важные вещи, которые нам нужно знать о программном обеспечении для резервного копирования.
Программное обеспечение с открытым исходным кодом – мы должны использовать программное обеспечение, исходный код которого доступен, может быть бесплатным и иметь аутентификацию для изменения. Это поможет нам гарантировать, что мы сможем восстановить данные, если поставщик / проект прекратил работу над программным обеспечением или отказался предоставить исправления.
Кросс-платформенная поддержка —Нам необходимо убедиться, что программное обеспечение для резервного копирования будет работать на всех платформах ОС, на всех настольных и серверных операционных системах.
Формат данных — Нам нужно проверить, есть ли у него открытый формат данных, который гарантирует, что мы сможем восстановить данные, если поставщик или проект остановились.
Автоматы-чейнджеры — Авто-чейнджер — это устройство резервного копирования. Они включают в себя библиотеку, оперативное хранилище и автозагрузчик. Авто-чейнджеры позволяют нам автоматически загружать, монтировать и маркировать резервные носители.
Резервный носитель — Перед тем, как начать, нам нужно убедиться в резервном копировании наших данных в других внешних файлах.
Шифрование DataStream –Нам нужно убедиться, что весь межсерверный трафик зашифрован.
Поддержка базы данных — Нам необходимо убедиться, что все программное обеспечение резервного копирования может выполнять резервное копирование серверов баз данных, таких как MySQL или Oracle.
Лучшее программное обеспечение для резервного копирования для Linux
Здесь мы представляем 15 лучших программ резервного копирования для Linux. Этот список является общим, и в нем нет никакой последовательности.
1. Bacula
Bacula это программное обеспечение для резервного копирования с открытым исходным кодом. Эта компьютерная система резервного копирования корпоративного уровня может работать в различных сетях. Это автоматизированная задача, не требующая вмешательства системного администратора или оператора компьютера. Bacula поддерживает клиентов резервного копирования Linux, UNIX и Windows.
Он также поддерживает широкий спектр профессиональных устройств резервного копирования и ленточных библиотек. Администраторы и операторы могут настраивать систему через консоль командной строки, графический интерфейс или веб-интерфейс. Его внутренняя часть — это каталог информации, который хранится в MySQL, PostgreSQL или SQLite.
Функции:
- Код обратного порта от BEE
- Новый монитор лотков на основе Qt
- Максимальное количество одновременных заданий для устройств
- Разрешить сжатие и точное резервное копирование
- Точные параметры набора файлов
- Завершение табуляции для консоли
- Обновления ACL и расширенные атрибуты
- Виртуальное резервное копирование и контроль дублирования заданий
- TLS аутентификация
Скачать
2. Аманда
Еще один очень интересный открытый исходный код резервного копирования Программное обеспечение для Linux является Аманда. Он может работать в GNU или Unix / Linux, а также в Windows. Он имеет встроенные средства резервного копирования и форматы, которые могут выполнять резервное копирование в Unix / Linux. Мы также можем использовать один сервер резервного копирования для резервного копирования с нескольких машин в сети.
Функции:
- Широкая защита платформы
- Защита баз данных и приложений
- Отказоустойчивость резервного копирования
- Гибкие параметры мультимедиа
- Быстрый установщик
- Интеллектуальный планировщик
- Политика автоматического хранения и удаления данных
Скачать
3. Rsync
Rsync — это инструмент резервного копирования Linux из командной строки, но теперь он также имеет графический пользовательский интерфейс. Пользователям Linux, особенно системным администраторам, это очень нравится. Его графический интерфейс называется Grsync. С помощью командной строки опытные системные администраторы могут выполнить автоматическое резервное копирование.
Функции:
- Требуется меньше памяти для работы
- Инкрементальные резервные копии
- Обновить все дерево каталогов и файловую систему
- Как локальные, так и удаленные резервные копии
- Сохранить права доступа к файлам и право собственности
Скачать
4. Хранилище времени
Хранилище времени — это программное обеспечение для резервного копирования с открытым исходным кодом для Linux. Это эквивалент Time Machine от Apple. Он создает файлы инкрементных резервных копий, которые можно восстановить позже. Он может делать снимки, которые могут быть сохранены в каталоге в определенный момент времени. Эти снимки очень мало разнесены, поэтому нам не нужны целые файлы резервных копий.
Функции:
- Создает инкрементные резервные копии
- Сделайте снимок всего магазина в качестве резервной копии
- Создает больше версий резервных копий данных, доступных для восстановления
- Красивый графический интерфейс
- Процесс установки довольно прост.
5. Clonezilla
Symantec Ghost Corporate Edition запускает программное обеспечение для резервного копирования с открытым исходным кодом Clonezilla на основе DRBL. Основной механизм этого программного обеспечения включает раздел изображения, частичное клонирование, udpcast и т. Д. Для резервного копирования и восстановления с нуля udpcast. Доступно два типа Clonezilla. Это Clonezilla live и Clonezilla SE. Для резервного копирования и восстановления одной машины используется Clonezilla live, а для сервера — Clonezilla SE.
Функции:
- Поддержка многофайловой системы
- Загрузочная машина BIOS или UEFI
- Автоматический режим
- Настраиваемое отображение и клонирование
- Восстановление одного изображения на несколько локальных устройств
- Шифрование изображений
- Сохранение и восстановление всего диска / раздела
- Поддержка многоадресной рассылки для массового клонирования
Скачать
6. Двойственность
Двойственность резервные копии каталогов, создавая зашифрованные тома в формате tar. Он загружает их на удаленный или локальный файловый сервер. Duplicity использует librsync, который архивируется постепенно. Он только сохраняет запись части файлов, которые изменились с момента последнего резервного копирования. Duplicity использует GnuPG для шифрования и / или подписи этого архива.
Функции:
- Легко использовать
- Зашифрованный и подписанный архив
- Пропускная способность и компактность
- Стандартный формат файла
- Выбор удаленного протокола
7. Лететь обратно
Лететь обратно создается на основе Rsync. Он создает инкрементные резервные копии файлов, как и другие резервные копии на основе Rsync, которые можно восстановить позже. Хронологическое представление файловой системы позволяет просматривать или извлекать отдельные файлы или каталоги по одному. Они представляют собой стандартный файловый менеджер, который позволяет дополнительным элементам управления перемещаться вперед и назад.
Функции:
- Автоматически запускать выборочное резервное копирование
- Выборочное удаление определенных резервных копий
- Возможность резервного копирования указанных пользователем каталогов в любое место, включая внешний диск.
- Сканирует всю структуру каталогов при выполнении резервного копирования
- Возможно планирование нескольких резервных копий
- Пользовательский контроль над расположением резервной копии, списком включения и исключения
- Имеет удобный графический пользовательский интерфейс.
Скачать
8. Резервное копирование
Backupninja — полезный инструмент резервного копирования подкрепления для Linux. Backupninja позволяет клиентам планировать проектные документы действий по усилению. Эти документы можно повесить в каталоге /etc/backup.d/. Backupninja выполняет безопасное, удаленное и добавочное подкрепление в системе.
Функции:
- Простой в использовании производитель наборов арматуры под названием Ninja partner
- Работает с виртуальными серверами Linux
- Включено усиление базы данных
- Запланированное подкрепление
- Уведомления по электронной почте
Выполните следующую команду, чтобы установить BackupNinja на сервере Ubuntu:
sudo apt-get update. sudo apt-get install backupninja duplicity rdiff-backup
9. Kbackup
Kbackup — это простой инструмент резервного копирования для ОС Linux, который также можно использовать в UNIX. После создания архивов и их сжатия с помощью утилит tar, gzip создается резервная копия. Он очень удобен в использовании и имеет множество пунктов меню для работы. Он также поддерживает шифрование и двойную буферизацию.
Функции:
- поддерживается сжатие, шифрование и двойная буферизация
- Поддерживает полное или инкрементное резервное копирование
- Высокая надежность
- поддержка ленточных накопителей, дискет или съемных носителей, удаленное резервное копирование по сети
- Подробно документируйте
Выполните следующую команду, чтобы установить Kbackup:
sudo apt-get install kbackup
10. BackupPC
BackupPC это полностью кроссплатформенное программное обеспечение, которое может работать на всех ОС. Это программное обеспечение предназначено для корпоративного использования. BackupPC поддерживает полное сжатие файлов и занимает мало места на диске. Для работы BackupPC не требуется никакого клиентского программного обеспечения. Это может обеспечить очень высокопроизводительное резервное копирование.
Функции:
- Очень гибкая Гибкость при резервном восстановлении
- Никакого клиентского программного обеспечения не требуется
- Поддерживается полный набор опций восстановления
- Доступна огромная документация
- Мощный пользовательский веб-интерфейс
Скачать
11. Fwbackups
Fwbackups — еще одно бесплатное программное обеспечение для резервного копирования с открытым исходным кодом для Linux, поддерживающее кроссплатформенность. Fwbackups обладает яркими функциями и обеспечивает высокий уровень удовлетворенности пользователей. Одна из замечательных особенностей Fwbackups заключается в том, что пользователь может принимать участие в разработке этого программного обеспечения и использовать его только в качестве тестера. У него очень удобный интерфейс, который можно использовать в качестве безопасного резервного копирования.
Функции:
- Отличный и простой интерфейс
- Очень гибкая конфигурация резервного копирования
- Резервное копирование можно сделать удаленно
- Можно создать резервную копию всего файла
- Варианты исключения файлов и каталогов
Скачать
12. Простой пакет резервного копирования
Интерфейс Gnome используется в качестве резервной конфигурации, где пользователи могут получить доступ ко всем. В основном используется для Рабочий стол Gnome. Regex можно использовать для указания файлов и каталогов. Дружественный и красивый интерфейс легко настраивается.
Функции:
- Несколько профилей резервного копирования
- Сжатые и несжатые резервные копии
- Доступен логин и уведомление по почте
- Два типа резервного копирования — по расписанию и вручную
- локальное и удаленное резервное копирование
Скачать
13. Назад во времени
Инструмент резервного копирования для операционных систем Linux очень прост в использовании и работает, делая снимки определения индексов и спонсорства.
Функции:
- Два типа резервного копирования Ручное или автоматическое.
- Резервное копирование каталогов.
- Назад в прошлое Резервное копирование
- Запланированное резервное копирование
Скачивание и установка
14. Mondorescue
Это одно из лучших бесплатных программ для резервного копирования с открытым исходным кодом. Mondorescue очень надежен, потому что имеет обширный набор всеобъемлющих функций. Он может выполнять резервное копирование с персональных компьютеров, рабочих станций или серверов. Каталоги резервного копирования могут быть круглыми разделами, магнитными лентами, NFS, CD- [R | W], DVD-R [W], DVD + R [W] и т. Д.
Функции:
- Установка Linux может быть клонирована
- Резервную копию без RAID можно восстановить как RAID
- система работает в одном формате и восстанавливается в другом
- Проверить целостность
- может создавать резервные копии систем Linux / Windows, включая загрузочные секторы
Скачать
Программное обеспечение с открытым исходным кодом и полностью автоматическое резервное копирование для Linux. Данные резервной копии могут храниться на сервере и могут быть восстановлены очень быстро. Пользователь может выбрать оптимизированные и задокументированные файлы на локальном сервере или резервные копии на реальном сервере.
Функции:
- Резервные копии онлайн
- Автоматическое резервное копирование
- Резервные копии в файлах
- Ведет себя как лента
- Легко и дешево запустить сервер
Скачивание и установка
Похвальный отзыв
# CloudBerry Backup
CloudBerry Backup это бесплатное кроссплатформенное облачное решение для резервного копирования, которое обеспечивает достойное резервное копирование вашего компьютера или сервера. Он имеет расширенные функции настройки резервного копирования и поддерживает Linux, Ubuntu, Debian, Red Hat, Fedora, CentOS, а также а также Windows и Mac OS. Это программное обеспечение для резервного копирования имеет консоль командной строки, графический интерфейс и веб-интерфейс. интерфейс.
С CloudBerry Backup вы можете создавать резервные копии файлов и папок на локальных дисках или в облачном хранилище: оно совместимо с более 20 популярных сервисов облачного хранения, включая Amazon S3, Microsoft Azure, Google Cloud Storage, Backblaze B2 и более.
Функции:
- Запланированное резервное копирование
- Инкрементное резервное копирование
- Политика удержания
- Поддержка символических ссылок
- Локальное резервное копирование и резервное копирование сетевых хранилищ
- Настраиваемые уведомления по электронной почте
Последняя мысль
Резервное копирование персональных компьютеров или серверов всегда необходимо для предотвращения необратимого информационного сбоя. Поэтому ознакомление с различными инструментами резервного копирования очень важно, особенно для системных администраторов, которые работают с обширной информацией корпоративного уровня и даже с персональными компьютерами.
Это всегда обычная практика — постоянно записывать информацию на наших компьютерах; это должно быть возможно физически или настроено для работы соответственно. Многочисленные инструменты резервного копирования имеют различные функции, которые позволяют пользователям устанавливать резервное копирование, время резервного копирования, что резервировать, регистрировать операции резервного копирования и многое другое.
Вам понравился этот список лучших и бесплатных программ резервного копирования с открытым исходным кодом для Linux? Если это произошло, поделитесь этим со своими друзьями в социальных сетях, и, очевидно, это сохранит жизнь UbuntuPIT.
Здравствуйте, уважаемые читатели сайта www.remontcompa.ru! Меня зовут Роман Нахват и в данной (3-й части) статьи по продукту Veeam Backup & Replication 9.5 продолжим заниматься резервным копированием операционных систем Windows (на примере Windows 8.1). Как мы помним, в 1-й и во 2-й частях статьи «Резервное копирование Windows 7, 8, 8.1, 10 используя Veeam Backup & Replication 9.5 и Veeam Agent for Microsoft Windows» был рассмотрен процесс установки продуктов Veeam Backup & Replication 9.5 и Veeam Agent for Microsoft Windows, на машине с установленным Veeam Backup & Replication 9.5 мы создали репозиторий с именем Backup Repository Windows 8.1 и с помощью Veeam Agent for Microsoft Windows выполнили резервное копирование операционной системы Windows 8.1, при этом резервную копию сохранили в созданный репозиторий. Продолжая работу с Veeam Backup & Replication 9.5, мы добавим к серверу резервного копирования и репликации машину на базе Linux (Ubuntu 16.04.3), создадим на ёё основе репозиторий с именем Backup_Repository Windows 8.1 и выполним резервное копирование Windows 8.1 в данный репозиторий. После завершения резервного копирования выполним удаленное подкючение к машине с Ubuntu 16.04.3 используя программу PuTTY.
Наша тестовая инфраструктура представлена на схеме ниже.
После подключения к серверу резервного копирования и репликации переходим на вкладку Backup Infrastructure, далее щёлкаем по Managed Servers.
В качестве сервера резервного копирования у нас выступает машина с именем S-01.testveeam.com (данная машина также выступала в роли хранлилища резервных копий, когда в 1-й части мы создавали репозиторий с именем Backup Repository Windows 8.1).
Как видим, все созданные нами репозитории для хранения резервных копий находятся на машине с именем S-01.testveeam.com.
Добавим к серверу резервного копирования еще одну машину (на базе Linux), которая в последующем будет выступать в роли репозитория для хранения резервных копий. Для этого Выбираем Managed Servers и щёлкаем по Add Server.
Указываем тип добавляемой машины, в нашем случае это Linux.
Вводим ip адрес добавляемой машины, а также прописываем какое-нибудь описание для нёё.
На вкладке SSH Connection жмём Add.
Вводим имя пользователя и его пароль на добавляемой машине.
Жмём Apply.
Finish
Как видим, на вкладке Managed Servers появилась машина с именем 192.168.100.3 на базе Linux.
Создадим на только что добавленной машине на базе Linux репозиторий. Для этого переходим на вкладку Backup Repositories и жмём Add Repository.
Указываем имя и описание создаваемого репозитория.
Тип репозитория выбираем Linux server.
В качестве машины, на которой мы будем создавать репозиторий для хранения резервных копий, выбираем добавленную машину на базе Linux с именем 192.168.100.3.
Указываем папку, которая будет выполнять роль репозитория. Жмём Browse.
Выделяем папку Backup_w8.1.
Next
Next
Apply
Finish
Как видим, у нас появился репозиторий с именем Backup_Repository Windows 8.1 на базе машины с ОС Linux.
PuTTY представляет собой свободно распространяемое программное обеспечение, предназначенное для удаленного подключения к компьютеру (серверу) по протоколам SSH, Telnet, rlogin и выполнения на нём различных команд. Мы будем использовать данную программу для подключения к машине, которую выше задействовали в качестве репозитория для сохранения резервных копий.
Переходим по адресу
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
и скачиваем установочный файл программы
Выполняем установку, запустив файл putty-64bit-0.70-installer.msi
Next
Next
Install
Установка завершена. Жмём Finish.
Щёлкаем по ярлыку и запускаем программу PuTTY.
Указываем ip адрес удаленной машины, к которой нужно подключиться (в нашем случае он 192.168.100.3) и жмём Open.
В открывшемся окне вводим имя и пароль пользователя удаленной машины, к которой выполняется подключение.
Как видим, мы успешно подключились к нашей удаленной машине с установленной ОС Ubuntu 16.04.3.
Выполнив последовательно команды cd /home, dir, cd rom, dir видим, что на нашей удаленной машине с ОС Ubuntu 16.04.3 есть папка Backup_w8.1, которую мы выше назначили на роль репозитория для хранения резервных копий.
Переходим на машину с Windows 8.1 (на данной машине должен быть предварительно установлен продукт Veeam Agent for Microsoft Windows), выбираем Configure Backup и выполняем настройку параметров резервного копирования.
Мы можем включить в состав резервной копии как все разделы на жёстом диске (Entire computer), так и выбрать определенные разделы (Volume level backup). Так как нам не нужно включать в состав резервной копии все разделы жёсткого диска, выбираем Volume level backup
Ставим галочки напротив системных разделов Windows 8.1 и жмём Next
Резервное копирование мы будем выполнять в репозиторий Backup_Repository Windows 8.1, поэтому выбираем Veeam backup repository
Вводим ip адрес, а также указываем имя пользователя и пароль для подключения к серверу резервного копирования
Резервную копию, как уже говорилось выше, сохраним в репозиторий с именем Backup_Repository Windows 8.1. Выбираем его и жмём Next
Next
Расписание резервного копирования создавать не будем, жмём Apply.
В итоговом окне настроек резервного копирования жмём Finish.
Запустим процесс резервного копирования, нажав Backup Now.
Процесс резервного копирования Windows 8.1.
Если перейти на сервер резервного копирования и открыть вкладку Backup, то можно увидеть, что резервное копирование в процессе выполнения.
Резервное копирование Windows 8.1 завершено.
Используя программу PuTTY, подключимся к удаленной машине с ОС Ubuntu 16.04.3, как мы это делали выше.
Выполнив последовательно команды cd /home/rom/Backup_w8.1/TESTVEEAM_Roman/Backup_Job_PC-01 и dir видим файлы резервной копии Windows 8.1, а именно PC-012018-02-19T001927.vbk и PC-01.vbm.