- Организация backup-сервера. Linux, ZFS и rsync
- 1. ZFS с компрессией и дедубликацией
- 2. Rsync на сервере
- 3. Rsync на клиентах
- 4. Восстановление
- 5. Заключение
- Как сделать резервную копию всей системы Linux с помощью Rsync
- Давайте разберём вышеуказанную команду и узнаем, для чего каждый параметр.
- linux-notes.org
- Резервное копирование с rsync в Linux
- Опции в rsync.
- Синтаксис
- Примеры использования Rsync
- 4. Rsync через SSH
- 5. Показать прогресс при передаче данных с Rsync
- 6. Использование опций «—Include» и «—exclude»
- 7. использовании опции «—delete»
- 8. Установка максимального размера для файлов для передачи
- 9. Автоматически удалить исходные файлы после успешной передачи
- 10. Выполнять «Dry Run» с rsync
- 11. Установка «Bandwidth Limit» для передачи файлов
- 3 thoughts on “ Резервное копирование с rsync в Linux ”
- Добавить комментарий Отменить ответ
Организация backup-сервера. Linux, ZFS и rsync
TL;DR:
Статья о настройке бекапа линуксовых серверов. В качестве хранилища используется раздел ZFS с включенными дедубликацией и компрессией. Ежедневно делаются снапшоты, которые сохраняются в течение недели (7 штук). Ежемесячные снапшоты хранятся в течение года (еще 12 штук). В качестве транспорта выступает rsync: на сервере он запущен демоном, на клиентах он запускается из crontab.
Так получилось, что у меня есть пара серверов, на которых под KVM живут виртуальные машины. Хотелось бекапить образы этих машин в сеть, но так, чтобы выполнялись условия:
- Хранить все бекапы за последнюю неделю.
- Хранить в течении года ежемесячные бекапы.
- Никаких сторонних бекап-агентов. На клиентах только стандартное и проверенное поколениями админов ПО.
- Экономно расходовать место в хранилище. Желательна компрессия и дедубликация данных.
- Все файлы должны быть доступны без дополнительных инструментов и оболочек. Идеальный вариант: каждый бекап в отдельном каталоге.
Можно ли всё это совместить? Да, и очень просто.
Все компьютеры, о которых идет речь в этой статье, являются серверами. Но как-то глупо и длинно делить их на “сервер, который хранит бекапы” и “сервер, бекапы которого хранит сервер, который хранит бекапы”. Поэтому первый я буду называть просто сервером, а второй уже начал называть клиентом.
1. ZFS с компрессией и дедубликацией
Наиболее привычная для меня ОС – Linux. Всё то же самое без особых изменений должно подойти и к Solaris, и к FreeBSD, в которых ZFS есть давно и что называется “из коробки”. Но Linux мне ближе и роднее, а проект по портированию на него ZFS выглядит уже достаточно зрелым. За год экспериментов у меня не было с ним заметных проблем. Поэтому поставил на сервер Debian Wheezy, подключил официальный репозитарий проекта и установил нужные пакеты.
Создал пул, указав что zfs у меня будет на /dev/md1 и что монтировать эту файловую систему я хочу к каталогу /mnt/backup:
По имени устройства /dev/md1 можно заметить, что я использую линуксовый software raid. Да, я знаю, что у ZFS есть свой способ создавать зеркала. Но поскольку на этой машине уже есть одно зеркало (для корневого раздела) и оно сделано штатным mdadm, то и для второго зеркала я предпочту использовать его же.
Включил дедубликацию и компрессию, сделал видимым каталог со снапшотами:
Положил в /usr/local/bin скрипт для создания снапшотов:
Этот скрипт добавил в crontab для ежедневного запуска. Чтобы содержимое снапшота соответствовало его дате, скрипт лучше запускать ближе к концу суток. Например, в 23:55.
Четвертое число месяца выбрано почти случайно. Запускал я всё этого третьего августа и хотелось поскорее сделать бекап, который будет храниться год. Следующий день был четвертым.
Снапшоты будут сохраняться в каталоге /mnt/backup/.zfs/snapshot. Каждый снапшот – отдельный каталог с именем в виде даты на момент создания этого снапшота. Внутри снапшота полная копия каталога /mnt/backup в том виде, в котором он был в этот момент.
2. Rsync на сервере
Традиционно rsync настраивают для работы поверх ssh. На клиентах настраивается авторизация по ключам (и без пароля), а эти ключи складываются на бекап-сервер. Сервер ходит по ssh на клиентов и забирает с них файлы. Преимущество этого подхода – шифрование трафика. Но мне не нравится идея с беспарольным входом по ssh (особенно в свете последних уязвимостей в bash). Так же мне не нравится идея инициировать бекап со стороны сервера: иногда перед бекапом на клиенте хочется выполнить какой-нибудь скрипт (например, сбросить дамп mysql), и только после завершения этого скрипта начинать бекап. Поэтому мой выбор – rsync, запущенный демоном на сервере и запускаемый из crontab на клиентах.
Поставил на сервер rsync (штатный, из репозитария), и чтобы он запускался при старте системы, написал в /etc/default/rsync:
Создал на сервере /etc/rsyncd.conf такого содержания:
192.168.xxx.xxx и 192.168.xxx.yyy – это адреса тех серверов, которые будут бекапиться. Зовут их kvm01 и kvm02. Их файлы будут лежать в /mnt/backup/kvm01 и /mnt/backup/kvm02. Поэтому:
3. Rsync на клиентах
Минимально необходимый скрипт для копирования файлов с клиента kvm02 на сервер с адресом 192.168.xxx.zzz будет выглядеть примерно так:
Разумется, если речь идет о бекапе виртуальных машин, то этот скрипт стоит пополнить командами создания и удаления LVM-снапшота, монтирования и отмонтирования его содержимого и так далее. Но эта тема уже выходит за рамки данной статьи.
4. Восстановление
Для восстановления файлов из бекапа клиента KVM01 за 4 августа 2014 года достаточно будет на сервере перейти в каталог /mnt/backup/.zfs/snapshot/2014-08-04/kvm01/ и скопировать оттуда файлы любым привычным способом. Каждый конкретный бекап выглядит как обычный каталог, доступный только для чтения. Для поиска определенного файла в этом бекапе можно использовать стандартные утилиты, такие как find или grep.
5. Заключение
Сейчас на сервере 9 снапшотов: 7 ежедневных и 2 ежемесячных. Плюс сегодняшний бекап, снапшот с которого снимется вечером. Размер раздела с бекапами составляет 1.8T. Общий объем файлов — 3.06T. Физически занимают на диске они 318G. Суммарный объем сегодняшнего бекапа — 319G. Да, 10 бекапов на ZFS с компрессией и дедубликацией занимают места меньше, чем один бекап занимал бы на файловой системе без этих полезных свойств.
Поскольку сам rsync не занимается шифрованием передаваемых данных, высовывать такую схему без изменений в интернет небезопасно. Добавить шифрование можно, пустив трафик через ipsec или stunnel, например.
Выше я написал, что заметных проблем с ZFS у меня не было. На самом деле, одна проблема была. Однажды ночью, когда оба клиента активно бекапились, сервер дважды сообщил в dmesg, что task rsync blocked for more than 120 seconds. При этом оба бекапа успешно завершились, ничего не зависло, данные не потерялись. Подозреваю, что это проявление знаменитого бага 12309. Разнес бекапы по времени, с тех пор проблема не повторялась.
Источник
Как сделать резервную копию всей системы Linux с помощью Rsync
Сделать бэкап Linux системы можно с помощью Rsync командой всего в одну строку. Хотя у rsync есть много параметров для резервного копирования, но нам данной строки достаточно для полного копирования системы. Кроме того, этот метод намного лучше, чем клонирование диска с помощью команды dd. Потому что, для rsync неважно, имеет ли ваш HDD другой размер или использует другую файловую систему. Этот метод будет работать практически на всех Linux-системах, в которых установлен rsync. В этом кратком how-to я расскажу, как создать полную резервную копию системы Linux с помощью утилиты Rsync.
Для начала, нам нужен резервный носитель (USB-флешка или внешний жесткий диск). Далее нужно узнать имя диска, используя команду «fdisk -l». В моем случае диск определился как /dev/sdb1. Теперь примонтируем наш резервный накопитель в любое удобное место, я выбрал /mnt.
Чтобы создать резервную копию всей системы, все, что вам нужно сделать, это открыть терминал. Затем запустить в нем следующую команду от имени пользователя root:
Эта команда создаст резервную копию всей корневой директории (/), исключая директории /dev, /proc, /sys, /tmp, /run, /mnt, /media, lost + found в папке / mnt.
Давайте разберём вышеуказанную команду и узнаем, для чего каждый параметр.
- rsync — быстрая, универсальная, локальная и удаленная утилита копирования файлов.
- -aAXv — файлы передаются в режиме «архив», что гарантирует сохранение символических ссылок, устройств, разрешений, владельцев, времени модификации, списков ACL и расширенных атрибутов.
- / — Исходный каталог.
- —exclude — исключает заданные каталоги из резервной копии.
- /mnt — это папка назначения резервного копирования.
Обязательно исключите целевой каталог, если он существует в локальной системе, иначе будет бесконечный цикл копирования.
Чтобы восстановить систему из резервной копии, просто измените исходные и целевые пути в приведенной выше команде.
Помните, что это подходит только для локальных и автономных систем. Если ваша система активно используется некоторыми другими системами в сети, то это не лучшее решение. Потому что содержимое этих систем может постоянно обновляться каждую минуту, а некоторые файлы могут меняться в процессе rsync. Например, когда rsync достигнет файла 2, содержимое предыдущего файла (Файл 1) может быть изменено. Это приведет к ошибке с зависимостями, когда вам понадобится использовать эту резервную копию. В таких случаях резервное копирование на основе снимков является лучшим подходом. Поскольку система будет «заморожена» до того, как процесс резервного копирования запустится и будет «разморожен», когда процесс резервного копирования завершится, поэтому все файлы будут согласованы.
На этом все. Надеюсь кому-то это поможет. Если считаете наши статьи полезными, поделитесь ими в своих социальных и профессиональных сетях, чтобы другие пользователи могли также воспользоваться ими. Мы будем продолжать публиковать более полезные статьи как можно чаще. Оставайтесь с нами.
Источник
linux-notes.org
Резервное копирование с rsync в Linux
Rsync — это протокол построен для Unix-подобных систем, что обеспечивает невероятную гибкость для резервного копирования и синхронизации данных. Он может быть использован локально для резервного копирования файлов в разных каталогах или может быть сконфигурирован для синхронизации через интернет к другим хостам.
Он может быть использован в системах Windows, но доступен только через различные порты (например, Cygwin), так что в этом как-бы мы будет говорить о его установке на Linux. В данной теме «Резервное копирование с rsync в Linux» поговорим как можно легко установить и пользоваться Rsync на Debian/Ubuntu/Linux Mint а так же на RedHat/CentOS/Fedora.
Если Вы используете RedHat/CentOS/Fedora:
Если Вы используете Debian/Ubuntu/Linux Mint:
Опции в rsync.
Некоторые общие опции используемые в Rsync:
-v: подробный вывод;
-r: копирует данные рекурсивно (но не сохраняют временные метки и разрешение при передаче данных);
-a: archive mode, позволяет копировании файлов рекурсивно, и это также сохраняет символические ссылки, права доступа к файлам, пользовательские и групповые пермишены и метки;
-z: сжимать данные файлов;
-h: выходит цифры в формате нормальном для чтения.
Предоставлю весь список опций.
-v, —verbose
increase verbosity
-q, —quiet
suppress non-error messages
—no-motd
suppress daemon-mode MOTD (see caveat)
-c, —checksum
skip based on checksum, not mod-time & size
-a, —archive
archive mode; equals -rlptgoD (no -H,-A,-X)
—no-OPTION
turn off an implied OPTION (e.g. —no-D)
-r, —recursive
recurse into directories
-R, —relative
use relative path names
—no-implied-dirs
don’t send implied dirs with —relative
-b, —backup
make backups (see —suffix & —backup-dir)
—backup-dir=DIR
make backups into hierarchy based in DIR
—suffix=SUFFIX
backup suffix (default
-u, —update
skip files that are newer on the receiver
—inplace
update destination files in-place
—append
append data onto shorter files
—append-verify
—append w/old data in file checksum
-d, —dirs
transfer directories without recursing
-l, —links
copy symlinks as symlinks
-L, —copy-links
transform symlink into referent file/dir
—copy-unsafe-links
only «unsafe» symlinks are transformed
—safe-links
ignore symlinks that point outside the tree
-k, —copy-dirlinks
transform symlink to dir into referent dir
-K, —keep-dirlinks
treat symlinked dir on receiver as dir
-H, —hard-links
preserve hard links
-p, —perms
preserve permissions
-E, —executability
preserve executability
—chmod=CHMOD
affect file and/or directory permissions
-A, —acls
preserve ACLs (implies -p)
-X, —xattrs
preserve extended attributes
-o, —owner
preserve owner (super-user only)
-g, —group
preserve group
—devices
preserve device files (super-user only)
—specials
preserve special files
-D
same as —devices —specials
-t, —times
preserve modification times
-O, —omit-dir-times
omit directories from —times
—super
receiver attempts super-user activities
—fake-super
store/recover privileged attrs using xattrs
-S, —sparse
handle sparse files efficiently
-n, —dry-run
perform a trial run with no changes made
-W, —whole-file
copy files whole (w/o delta-xfer algorithm)
-x, —one-file-system
don’t cross filesystem boundaries
-B, —block-size=SIZE
force a fixed checksum block-size
-e, —rsh=COMMAND
specify the remote shell to use
—rsync-path=PROGRAM
specify the rsync to run on remote machine
—existing
skip creating new files on receiver
—ignore-existing
skip updating files that exist on receiver
—remove-source-files
sender removes synchronized files (non-dir)
—del
an alias for —delete-during
—delete
delete extraneous files from dest dirs
—delete-before
receiver deletes before transfer, not during
—delete-during
receiver deletes during the transfer
—delete-delay
find deletions during, delete after
—delete-after
receiver deletes after transfer, not during
—delete-excluded
also delete excluded files from dest dirs
—ignore-errors
delete even if there are I/O errors
—force
force deletion of dirs even if not empty
—max-delete=NUM
don’t delete more than NUM files
—max-size=SIZE
don’t transfer any file larger than SIZE
—min-size=SIZE
don’t transfer any file smaller than SIZE
—partial
keep partially transferred files
—partial-dir=DIR
put a partially transferred file into DIR
—delay-updates
put all updated files into place at end
-m, —prune-empty-dirs
prune empty directory chains from file-list
—numeric-ids
don’t map uid/gid values by user/group name
—timeout=SECONDS
set I/O timeout in seconds
—contimeout=SECONDS
set daemon connection timeout in seconds
-I, —ignore-times
don’t skip files that match size and time
—size-only
skip files that match in size
—modify-window=NUM
compare mod-times with reduced accuracy
-T, —temp-dir=DIR
create temporary files in directory DIR
-y, —fuzzy
find similar file for basis if no dest file
—compare-dest=DIR
also compare received files relative to DIR
—copy-dest=DIR
… and include copies of unchanged files
—link-dest=DIR
hardlink to files in DIR when unchanged
-z, —compress
compress file data during the transfer
—compress-level=NUM
explicitly set compression level
—skip-compress=LIST
skip compressing files with suffix in LIST
-C, —cvs-exclude
auto-ignore files in the same way CVS does
-f, —filter=RULE
add a file-filtering RULE
-F
same as —filter=’dir-merge /.rsync-filter’
repeated: —filter=’- .rsync-filter’
—exclude=PATTERN
exclude files matching PATTERN
—exclude-from=FILE
read exclude patterns from FILE
—include=PATTERN
don’t exclude files matching PATTERN
—include-from=FILE
read include patterns from FILE
—files-from=FILE
read list of source-file names from FILE
-0, —from0
all *from/filter files are delimited by 0s
-s, —protect-args
no space-splitting; wildcard chars only
—address=ADDRESS
bind address for outgoing socket to daemon
—port=PORT
specify double-colon alternate port number
—sockopts=OPTIONS
specify custom TCP options
—blocking-io
use blocking I/O for the remote shell
—stats
give some file-transfer stats
-8, —8-bit-output
leave high-bit chars unescaped in output
-h, —human-readable
output numbers in a human-readable format
—progress
show progress during transfer
-P
same as —partial —progress
-i, —itemize-changes
output a change-summary for all updates
—out-format=FORMAT
output updates using the specified FORMAT
—log-file=FILE
log what we’re doing to the specified FILE
—log-file-format=FMT
log updates using the specified FMT
—password-file=FILE
read daemon-access password from FILE
—list-only
list the files instead of copying them
—bwlimit=KBPS
limit I/O bandwidth; KBytes per second
—write-batch=FILE
write a batched update to FILE
—only-write-batch=FILE
like —write-batch but w/o updating dest
—read-batch=FILE
read a batched update from FILE
—protocol=NUM
force an older protocol version to be used
—iconv=CONVERT_SPEC
request charset conversion of filenames
—checksum-seed=NUM
set block/file checksum seed (advanced)
-4, —ipv4
prefer IPv4
-6, —ipv6
prefer IPv6
—version
print version number
-h, —help
show help
rsync can also be run as a daemon, in which case the following options are accepted:
—daemon
run as an rsync daemon
—address=ADDRESS
bind to the specified address
—bwlimit=KBPS
limit I/O bandwidth; KBytes per second
—config=FILE
specify alternate rsyncd.conf file
—no-detach
do not detach from the parent
—port=PORT
listen on alternate port number
—log-file=FILE
override the «log file» setting
—log-file-format=FMT
override the «log format» setting
—sockopts=OPTIONS
specify custom TCP options
-v, —verbose
increase verbosity
-4, —ipv4
prefer IPv4
-6, —ipv6
prefer IPv6
-h, —help
show this help (if used after —daemon)
Синтаксис
Доступ через удаленные оболочки (PULL):
Доступ черезудаленные оболочки (PUSH):
Доступ через демона Rsync (PULL):
Доступ через демона Rsync (PUSH):
Используйте только один аргумент с SRC и не аргумент DEST будет перечислять исходные файлы вместо копирования.
Примеры использования Rsync
1. Локальное копирование между папками
— Например вы хотите скопировать данные между 2-мя папками на локальном компьютере, а сделать можно это так. В первой части этого урока, мы будет создавать резервные копии файлов с your_dir_1 чтобы your_dir_2. Оба из этих каталогов находятся на одном жестком диске, но это будет работать точно так же, если каталоги существовали на двух разных дисках.
Эта команда будет синхронизировать содержимое your_dir_1 в your_dir_2 при любых изменениях.Если Rsync находит файл, который был изменен, создан или удален в your_dir_1 , он будет отражать те же изменения в your_dir_2.
Есть много различных переключателей, которые можно использовать для Rsync, чтобы персонализировать ее к конкретным потребностям. Вот некоторые ключи Rsync чтобы сделать резервные копии:
-a = Рекурсивно выполняя со всеми теми свойствами которые вы создавали данные файлы (рекурсивно в каталогах), ссылки (копия символических ссылок как символические ссылки), perms (сохранить разрешения), время (сохранить время модификации), группа (сохраняет группу), владелец (сохранить владельца), сохранить файлы устройств, и сохранить специальные файлы.
-V = verbose. Он будет отображать весь процесс копирования, поэтому я думаю, что важно, чтобы вы могли видеть то, что Rsyncделает когда копирует резервные копии.
—delete = Это опция удаляет любые файлы, которые находятся в your_dir_2 и которых нет в your_dir_1.
— Это следующая команда будет синхронизировать один файл на локальной машине из одного места в другое место. В этом примере, имя файла my_backup.tar нужно скопировать или синхронизировать с папкой /tmp/my_backups/my_folder:
2. Копировать / Синхронизировать каталог на локальном компьютере
Следующая команда будет передавать или синхронизировать все файлы из одной директории в другую директорию, в той же машине. Здесь, в этом примере, /root/my_rpmpkgs содержит некоторые файлы пакетов и вы хотите выполнить копирования в /tmp/my_backups/
3. Использование Rsync для внешних резервных копий
— Копировать/ Синхронизировать удаленный каталог на локальном компьютере
Эта команда поможет вам синхронизировать удаленный каталог на локальный ПК. Здесь, в этом примере, каталог /home/captain/my_rpmpkgs который находится на удаленном сервере копируется в вашем локальном компьютере в /tmp/my_myrpmss:
— Скопировать каталог из локального сервера на удаленный сервер
Эта команда будет синхронизировать каталог из локальной машины на удаленной машине. Например: Существует папку в локальных компьютерных «my_rpmpkgs», который содержит некоторые пакеты RPM и вы хотите передать содержание локального каталога (отправить) на удаленный сервер, вы можете использовать следующие команды:
Автоматическое резервное копирование сRSYNC.
Чтобы выполнялось синхронизация ваших данных автоматически в заданное время (чтобы не нагружать сервер), можно использовать Cron. Для редактирования файла крона для пользователя из еоторого вы вошли в систему, выполните команду:
Следующая команда запустит команду Rsync каждый день в 10 вечера:
Можно написать небольшой скрипт и засунуть его тоже в крон на выполнение:
И после чего уже вставить данный скрипт в крон на выполнение.
4. Rsync через SSH
С Rsync, мы можем использовать SSH (Secure Shell) для передачи данных, используя протокол SSH при передаче наших данных вы можете быть обеспечены, что ваши данные передаются через защищенное соединение с шифрованием, так что никто не может считать ваши данные.
Кроме того, когда мы используем Rsync мы должны предоставить пользователю его пароля, чтобы выполнить эту конкретную задачу, так что использование опции SSH отправим наши логины в зашифрованном виде, так что ваши пароли будут в безопасности.
—Копирование файла с локального на удаленный сервер с SSH
Rsync может быть сконфигурирован по-разному для внешних резервных копий, но мы будем использовать способ наиболее практичный -это туннельный Rsync через SSH. Большинство серверов и даже на многих клиентских компьютерах или серверах уже есть SSH, и он может быть использован для ваших резервных копий с помощью RSYNC . Я покажу вам процесс, как можно скопировать все данные папки your_dir_1 в your_dir_1 по локальной сети или интернет. Работает это таким образом на локальном компьютере мы выполним данную команду для того чтобы все данные скопировалися на сервер ( убедитесь что на сервере стоит уже SSH):
У меня это выглядит вот так:
Если вы используете другой SSH порт ( стандартный 22-й), то можно указать любой другой передавая параметр, а выглядит это вот так:
Можно добавить опцию «-i» если вам нужно использовать RSA ключ на сервере:
PS: Только не забудьте его сгенерировать.
— Копирование файла с удаленного сервера на локальный сервер с SSH
Чтобы указать протокол использования в Rsync вам нужно задать «-e» опцию с названием протокола который вы хотите использовать. Здесь, в этом примере, мы будем использовать «SSH» с опцией «-e» и выполнить передачу данных:
5. Показать прогресс при передаче данных с Rsync
Чтобы показать прогресс во время передачи данных с одной машины на другую, мы можем использовать «—progress» для него. Он отображает файлы и время, оставшееся до завершения передачи:
6. Использование опций «—Include» и «—exclude»
Эти два варианта позволяет включать и исключать файлы, указав параметры с этими опциями — помогает нам указать те файлы или каталоги, которые мы хотим включить в синхронизации и исключить файлы и папки.
Здесь, в этом примере, команда Rsync будет включать в себя те файлы и директории, которые начинается только с ‘R’ и исключить все другие файлы и директории:
7. использовании опции «—delete»
Если файл или каталог не существует в источнике, но уже существует в месте назначения, вы, возможно захотите удалить уже существующий файл / каталог во время синхронизации.
Мы можем использовать опцию «—delete» чтобы удалить файлы, которые не существуют в исходном каталоге. Источник и цель находятся в синхронизации:
8. Установка максимального размера для файлов для передачи
Вы можете указать максимальный размер файла, который будет передан на синхронизацию. Вы можете сделать это с опцией «—max-size». Здесь, в этом примере, максимальный размер файла составляет 200k, так эта команда будет передавать только те файлы, которые равны или меньше, чем 200k:
9. Автоматически удалить исходные файлы после успешной передачи
Теперь предположим, что у вас есть основной веб-сервер и сервер резервного копирования данных, вы создали ежедневное резервное копирование и он синхронизируется с сервером резервного копирования, теперь вы не хотите сохранять эту локальную копию резервной копии в вашем веб-сервере. Следующая команда автоматически удалит фсе переданные файлы с сервера-передатчика, а делается это с опцией «—remove-source-files»:
10. Выполнять «Dry Run» с rsync
Если вы новичок и вы не знаете то и как работает в Rsync, то Rsync может действительно испортить файлы\папки в вашей папке, а затем выполнять отмены может быть утомительной работой.
Использование этой опции не будет делать каких изменений, только выполнит прогон команды и покажет вывод команды, если вывод показывает точно такие же данные которые вы ожидали, то вы можете удалить опцию «—dry-run» из вашей команды и выполнить заново на терминале.
11. Установка «Bandwidth Limit» для передачи файлов
Вы можете установить предел пропускной способности при передаче данных от одной машины к другой машине с помощью опции «—bwlimit». Эта опция помогает нам ограничить пропускную способность ввода / вывода (I/O):
Кроме того, по умолчанию Rsync синхронизирует измененные блоки и байты, только если вы явно хотите синхронизировать весь файл, то вы используете опцию ‘-w’ с ним.
Тема «Резервное копирование с rsync в Linux» завершена. Спасибо что читаете http://linux-notes.org
3 thoughts on “ Резервное копирование с rsync в Linux ”
Не работает ваш скрипт.
root@DM001S002:/media/bak# rsync -av –delete -e ‘ssh -p 22′ /media/bak/exchange root@10.200.2.202:/media/bak/exchange
rsync: Failed to exec \#342\#200\#230ssh: No such file or directory (2)
rsync error: error in IPC code (code 14) at pipe.c(84) [sender=3.0.9]
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in IPC code (code 14) at io.c(605) [sender=3.0.9]
root@DM001S002:/media/bak#
Значит что-то делаете не так. Попозже я еще раз все проверю и напишу ответ. Возможно, где то допустил я ошибку, постараюсь все исправить.
rsync -av –delete -e ‘ssh -p 22′ /media/bak/exchange root@10.200.2.202 /media/bak/exchange
В таком виде скрипт копирует все /media/bak/exchange/exchange
соответственно запустив несколько раз получим
/media/bak/exchange/exchange /exchange
/media/bak/exchange/exchange /exchange /exchange
/media/bak/exchange/exchange /exchange /exchange /exchange
/media/bak/exchange/exchange /exchange /exchange /exchange /exchange
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Источник