Как я могу пометить даты своими именами файлов?
Чтобы включить текущее время / дату в имя файла, используйте комбинацию date
и подстановки команд:
mysqldump -uroot -proot my-db > my-db-`date +%Y%m%d`.sql
Страница man
для date
объясняет другие опции, которые вы можете использовать; но в этом контексте вас также может заинтересовать включение времени:
mysqldump -uroot -proot my-db > my-db-`date +%Y%m%d-%H%M`.sql
Подождите, что это за «подстановка команд»?
Цитата из bash hackers wiki о подстановке команд:
Подстановка команд распространяется на вывод команд. Эти команды выполняются в подоболочке, и их стандартный stdout
- это то, к чему расширяется синтаксис замещения.
По сути, date -%Y%m%d
выводит 20150917
, и мы используем форму подстановки команды backtick (`
), чтобы включить эти выходные данные в команду, которую вы указали для резервного копирования базы данных. Мы могли бы также использовать:
mysqldump -uroot -proot my-db > my-db-$(date +%Y%m%d).sql
добиться того же результата.