Como posso datestamp meus nomes de arquivos?
Para incluir a hora / data atual em um nome de arquivo, use uma combinação de date e substituição de comando:
mysqldump -uroot -proot my-db > my-db-'date +%Y%m%d'.sql
A man página para date explica as outras opções que você pode usar; mas neste contexto você também pode estar interessado em incluir o tempo:
mysqldump -uroot -proot my-db > my-db-'date +%Y%m%d-%H%M'.sql
Espere, o que é isso 'substituição de comando'?
Citação do bash hackers wiki na substituição de comandos :
The command substitution expands to the output of commands. These commands are executed in a subshell, and their
stdoutdata is what the substitution syntax expands to.
Basicamente, date -%Y%m%d outputs 20150917 e usamos a forma backtick ( ' ) de substituição de comando para incluir essa saída no comando fornecido para fazer backup do banco de dados. Nós poderíamos igualmente ter usado:
mysqldump -uroot -proot my-db > my-db-$(date +%Y%m%d).sql
para alcançar o mesmo resultado.