Я хочу создать автоматическое ежемесячное резервное копирование на 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
для этой команды? Спасибо, Кевин
Для установки 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 в целом, а также на других форумах. Помните, что стартовая страница является Вашим другом.
Создайте файл: /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
Не стесняются удалять точки к Вашей симпатии и потребностям.