Как сделать ежемесячное резервное копирование системы

Я хочу создать автоматическое ежемесячное резервное копирование на Ubuntu 14.04 LTS - Server Ed., С помощью следующей команды:

$ tar -cvpz --exclude=/bckupftp --exclude=/ser --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys / | split -d -b 750m - /bckupftp/backup20160422-041400.tar.gz

Я добавил дату и время в имя файла резервной копии. Было бы хорошо, если бы это могло быть установлено на фактическую дату / время резервного копирования автоматически. Для cronjob, установленного на 01 мая 2016 года в 1:00, имя файла резервной копии будет: /bckupftp/backup20160501-010000.tar.gz.

Может кто-нибудь помочь мне настроить cronjob для этой команды? Спасибо, Кевин

0
задан 23 April 2016 в 21:08

2 ответа

Для установки cronjob для нынешнего некорневого пользователя сделайте в терминале:

$ crontab -e

Вышеупомянутое откроет Вашего (некорневого) пользователя crontab с его редактором по умолчанию.

С другой стороны, сделать так для корня crontab, но с Вашим подарком (по-видимому, некорневой) параметры пользовательской среды (редактор по умолчанию, и т.д.):

$ sudo -i crontab -e

В Вашем открытом crontab, введите новую строку:

0 01 01 * * /bin/tar -cvpz --exclude=/bckupftp --exclude=/ser --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys / | /usr/bin/split -d -b 750m - /bckupftp/backup$(/bin/date +\%Y\%m\%d-\%H\%M\%S).tar.gz

(Я не проверял законность Вашего tar cmd.)

Обратите внимание что:

  • crontab использует 24-часовые часы, военный стиль: 15 средства 15:00, 03 средства 3:00, и т.д.

  • вышеупомянутое cron запись выполняет в 1:00 час первый день каждого месяца. В терминале сделайте: man crontab для большего количества информации о crontab форматах.

  • в crontab, это - хорошая привычка снабдить префиксом cmds их полный путь. Для нахождения полного пути любого невстроенного cmd сделайте в терминале $ which <cmd>. Таким образом tar cmd становится /bin/tar, split становится /usr/bin/split, и т.д.

  • как только Вы сохраняете недавно отредактированный crontab, cron задание вступает в силу. Никакая потребность перезагрузить, выйдите из системы и въезжайте задним ходом или перезапустите любой сервис.

  • сохранив Ваш bckup файл, метка времени имеет следующий формат YYYYMMDD-HHMMSS. При необходимости в нем, чтобы быть более точными, попытайтесь заменить %S с %s в Вашем crontab запись.

  • Я уверен (значение "с 100%-й вероятностью"), можно найти все вышеупомянутое объясненным в больших деталях в AU, SE в целом, а также на других форумах. Помните, что стартовая страница является Вашим другом.

4
ответ дан 24 April 2016 в 07:08
  • 1
    Извините, я пытался записать, чем колебался, как отформатировать, но страница взяла его в качестве комментария. Кажется, что все в порядке, поскольку я запишу в дальнейшем по крайней мере два комментария – Tomáš Pečený 26 October 2017 в 14:46

Создайте файл: /etc/cron.monthly/backups.sh делают это исполняемым файлом: $ chmod +x /etc/cron.monthly/backups.sh

для уборки его создайте переменную:

DATE=`date +%Y.%m.%d-%H.%M.%S`                   # eg. 2016.04.22-13.01.59

И затем ссылаются на Вашу команду выше с: /bckupftp/backup${DATE}.tar.gz

Это произвело бы файл, подобный: /bckupftp/backup2016.04.22-13.01.59.tar.gz

Не стесняются удалять точки к Вашей симпатии и потребностям.

0
ответ дан 24 April 2016 в 07:08

Другие вопросы по тегам:

Похожие вопросы: