Резервная копия файла линукс

4 удобных приложения для резервного копирования в Linux

Простое и понятное приложение, которое предустановлено во многих популярных дистрибутивах. К примеру, оно присутствует в той же Ubuntu, только называется «Резервные копии». DejaDup не смутит даже самых неопытных пользователей. В главном окне программы всего две кнопки: «Восстановление» и «Создать резервную копию».

На боковой панели в разделе «Папки для сохранения» выберите, что именно хотите копировать. По умолчанию делается бэкап вашей пользовательской папки. В следующем разделе — «Исключённые папки» — отметьте те данные, которые сохранять не следует.

DejaDup умеет отправлять копии на локальные диски, ваши личные серверы в локальной сети, а также в облака Google и Nextcloud. Планировщик тут тоже в наличии, хотя настройки довольно скудные. Приложение может делать копии каждый день или неделю и — при необходимости — удалять старые данные (раз в полгода или год).

Чтобы установить DejaDup, просто введите в терминал команду, подходящую для вашего дистрибутива:

  • Ubuntu: sudo apt‑get install deja‑dup
  • Fedora: sudo dnf install deja‑dup
  • openSUSE: sudo zypper install deja‑dup
  • Arch: sudo pacman -S deja‑dup

2. Cronopete

Создатель Cronopete прямо заявляет на своём сайте, что при разработке своего приложения вдохновлялся Time Machine на Mac. А потому настроек тут минимум. При первом запуске Chronopete спросит вас, где хранить копии — в какой‑то папке или на внешнем жёстком диске, — и предложит выбрать файлы, которые следует копировать.

После этого приложение поселится в вашем трее и будет периодически делать бэкапы. А ещё Chronopete станет автоматически удалять старые файлы, когда ваш диск начнёт переполняться.

Установить Cronopete можно, загрузив пакет с сайта автора.

3. Back in Time

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

Читайте также:  Linux console commands log

Поначалу может показаться, что настроек у Back in Time слишком много. Но, в принципе, разобраться в нём не так сложно.

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

Установить Back in Time можно так:

  • Ubuntu: sudo add‑apt‑repository ppa:bit‑team/stable; sudo apt update; sudo apt install backintime‑gnome
  • Fedora: sudo dnf install backintime‑qt4
  • openSUSE: sudo zypper install backintime‑qt4
  • Другие дистрибутивы:загрузить Back in Time →

4. Timeshift

Чрезвычайно мощное приложение для защиты всей вашей системы от нежелательных изменений. Помните точки восстановления в Windows? Timeshift делает то же самое, но в Linux.

При первом запуске программа спросит у вас, какой из двух типов резервного копирования следует использовать. Режим Rsync работает во всех системах Linux, но он довольно медленный. Btrfs быстрее, но его можно применить только для вариантов, установленных на разделы Btrfs (тип файловой системы указывается при инсталляции Linux).

Затем вам нужно будет выбрать, какие разделы копировать (по умолчанию включён только системный) и как часто это делать. Обычно Timeshift выполняет бэкапы ежедневно. После установки Timeshift вы можете вытворять со своей системой что хотите: если вы что‑то повредите, всегда можно будет откатиться на стабильный «снимок».

Даже если ваша ОС перестала запускаться совсем, ничего страшного. Возьмите флешку или диск с Linux, загрузитесь в live‑режиме. Затем введите команду на инсталляцию Timeshift (не переживайте, установка произойдёт только в оперативной памяти). Укажите, где вы храните резервные «снимки», и выберите нужный. Через пять минут система будет восстановлена.

Но учтите, что разработчик Timeshift не рекомендует программу для резервного копирования документов и личных файлов. Она заточена под сохранение настроек и состояния самой системы.

Установить Timeshift можно вот так:

  • Ubuntu: sudo sudo apt‑add‑repository -y ppa:teejee2008/ppa; apt update; apt install timeshift
  • Fedora: sudo dnf install timeshift
  • Arch: sudo yaourt timeshift
  • Другие дистрибутивы:загрузить Timeshift →

Источник

Читайте также:  Linux вырезать вставить файл

Пример скрипта для создания резервной копии файлового сервера

Обновлено

Обновлено: 19.06.2023 Опубликовано: 24.05.2022

  • Ежедневная актуализация данных в каталоге резервный копий daily.
  • Еженедельная актуализация данных в каталоге резервный копий weekly.
  • Создание полного архива с данными раз в 30 дней.
  • Старые архивы (которым более 370 дней) будут удаляться.

Пример скрипта

Скрипт будет сравнивать файлы в рабочем каталоге и папке резервного копирования с помощью rsync. Это позволит нам сэкономить на времени выполнения задания. Долго будет выполняться только задание создания архива с помощью tar.

Создаем каталог для скриптов и сам скрипт:

  1. #!/bin/bash
  2. PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
  3. source=»/data»
  4. destination_root=»/backup»
  5. fdate=$(date +%Y-%m-%d)
  6. # Clean old archives
  7. find $/archive -type f -name «*.tar.gz» -ctime +370 -exec rm -R <> \; 2>&1
  8. # Daily
  9. rsync -a —partial —inplace —append —delete-after $/ $/daily/
  10. # Weekly
  11. if [[ $(date +%u) -eq 0 ]]
  12. then
  13. rsync -a —partial —inplace —append —delete-after $/ $/weekly/
  14. fi
  15. # Archive
  16. count_last_archives=$(find $/archive/ -name «*.tar.gz» -mtime -30 | wc -l)
  17. if [[ $count_last_archives -eq 0 ]]
  18. then
  19. cd $
  20. tar zcf $/archive/samba_$.tar.gz ./*
  21. fi

Задаем права скрипту на выполнение:

chmod +x /scripts/samba_backup.sh

Описание скрипта

Опишем значимые строки нашего скрипта:

1 Указываем на путь к интерпретатору.
2 Задаем системные переменные, чтобы не пришлось в скрипте прописывать полные пути до исполняемых файлов.
4 — 6 Задаем переменные.
4 Каталог и рабочими данными, которые нужно резервировать.
5 Корневая папка, где нужно хранить резервные копии.
6 Дата, когда запускается скрипт. Используется для
9 Поиск и удаление всех архивов, которым более 370 дней.
11 — 18 Синхронизация данных с помощью rsync
12 Выполнение синхронизации данных в каталог daily.
15 Задаем условие. Номер дня недели должен равняться 0 (воскресенье). Если это так, то будет выполнена строка 17.
17 Выполнение синхронизации данных в каталог weekly.
20 — 26 Создание архива.
21 Получим количество файлов с архивами, которым меньше 30 дней и сохраним результат в переменную count_last_archives.
22 Проверяем условие, равна ли переменная count_last_archives нулю. На практике это значит, что за последние 30 дней у нас нет ни одного архива. Если это так, то выполняем строки 24 — 25.
24 Переходим внутрь каталога с рабочими данными. Это нужно для того, чтобы наш архив создавался относительно не корня, а рабочего каталога. Так удобнее при восстановлении данных.
25 С помощью утилиты tar мы архивируем все данные и создаем архив в каталоге archive. В название архива добавляем дату его создания.
Читайте также:  Canon mf4010 драйвер linux

Подготовка системы

Создаем каталоги, в которых будут храниться резервные копии:

В нашем примере, это три каталога, относительно, папки /backup:

  1. daily — ежедневные копии. Для быстрого восстановления.
  2. weekly — еженедельные. На случай, если ежедневный бэкап успел стереть важные данные.
  3. archive — архивы на крайний случай.

Наша система готова к созданию резервных копий.

Сохранение данных на удаленном компьютере

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

Чтобы упростить процесс монтирования сетевой папки, откроем на редактирование следующий файл:

//192.168.0.1/backup /mnt cifs user,rw,noauto,credentials=/root/.smbclient 0 0

* в данном примере выполняется монтирование общей папки backup на сервере с IP-адресом 192.168.0.1 в каталог /mnt. В качестве сетевой файловой системы используется cifs (протокол SMB: сервер samba или общая папка Windows). Параметры для подключения — user: позволяет выполнить монтирование любому пользователю, rw: с правом на чтение и запись, noauto: не монтировать автоматически при старте системы, credentials: файл, в котором написаны логин и пароль для подключения к общей папке.

Теперь создадим файл с логином и паролем:

и приведем его к следующему виду:

* где username: имя пользователя, password: пароль. Само собой, в вашем случае указываются свои данные.

Устанавливаем пакет cifs-utils, позволяющий в Linux монтировать smb-шары. В зависимости от типа Linux, команды будут немного различаться.

а) Deb (Ubuntu / Debian, Astra Linux):

б) RPM (Rocky Linux / РЕД ОС / CentOS):

Теперь введите следующую команду:

Должна примонтировать сетевая папка //192.168.0.1/backup. Это можно проверить следующей командой:

Подробнее про монтирование сетевых папок читайте в инструкции Как в Linux монтировать шару CIFS.

Автоматический запуск по расписанию

Создадим правило в cron для автоматического запуска нашего скрипта. Выполняем команду:

0 3 * * * /scripts/samba_backup.sh

* в данном примере мы будем запускать резервирование каждый день в 3 часа ночи.

Источник

Оцените статью
Adblock
detector