Четыре строки скрипта с БД и корневой папки резервного копирования на молнии


Что вы думаете о моем скрипте, чтобы сделать немедленное DB и корневой папки резервного копирования на молнии? Любой изъян можно найти. Пожалуйста, сообщите мне об этом:

#!/bin/bash
mysqldump -u root -p --all-databases | zip ${drt}/db-$(date +\%F-\%T).zip
zip -r all_zipped-$(date +\%F-\%T).zip ${drt}/ -x "*/cache/*"
rm -rf  ${drt}/db-$(date +\%F-\%T).zip

Это важно для меня, чтобы иметь резервную копию в корень документа из-за комфортности. Это небольшой серверной среде (с внешним автоматическое резервное копирование) и я думаю, это будет лишним иметь запасной реж хоть раз-в-А-а резервные копии я делаю с, что хороший сценарий.



93
1
задан 9 февраля 2018 в 07:02 Источник Поделиться
Комментарии
1 ответ

Ошибка?

Мне кажется, что имя zip-файла, используемого в первой и последней команды были предназначены, чтобы быть таким же, то есть ${drt}/db-$(date +\%F-\%T).zip часть:


mysqldump ... | zip ${drt}/db-$(date +\%F-\%T).zip
...
rm -rf ${drt}/db-$(date +\%F-\%T).zip

Они будут одинаковыми, если mysqldump и rm команды выполняются в ту же секунду.

Не повторяйся

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

Двойные кавычки аргументов

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

Бесполезные флаги

В rm -rf ${drt}/db-$(date +\%F-\%T).zip,
так как мы удаляем файл, а не каталог
в -r флаг бесполезен.
Избежать бесполезных флаги.

Альтернативное решение

Я предлагаю писать так:

#!/bin/bash

date=$(date +\%F-\%T)

mysqldump -u root -p --all-databases | zip "${drt}/db-$date.zip"
zip -r "all_zipped-$date.zip" "${drt}"/ -x "*/cache/*"
rm -f "${drt}/db-$date.zip"

1
ответ дан 10 февраля 2018 в 05:02 Источник Поделиться