mysqldump
たとえば次のように、を使用して多くの DB バックアップを手動で作成する必要があります。
mysqldump -uroot -proot my-db > my-db.sql
現在の日付またはタイムスタンプをファイル名に含める簡単な方法があるかどうか知りたいのですが、その場合、ファイルは次のように表示されます: my-db-20150917.sql
(または、タイムスタンプを含む別の形式でもかまいません)。
答え1
ファイル名に日付スタンプを付けるにはどうしたらいいですか?
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 ハッカー wiki:
コマンド置換はコマンドの出力に展開されます。これらのコマンドはサブシェルで実行され、その
stdout
データが置換構文の展開先になります。
基本的に、date -%Y%m%d
を出力し20150917
、`
コマンド置換のバックティック ( ) 形式を使用して、データベースのバックアップ用に指定したコマンドにその出力を含めます。次のようにも使用できます。
mysqldump -uroot -proot my-db > my-db-$(date +%Y%m%d).sql
同じ結果を達成します。