以前のバックアップを上書きせずにどのようにこのバックアップを作成できますか?これは私が作ったcrontabです。
* 2 * * * /opt/bitnami/mysql/bin/mysqldump -u root -password--databases BDname>~/Backup/DBname
ベストアンサー1
日付が表示されたダンプファイルを簡単に作成できます。
* 2 * * * /opt/bitnami/mysql/bin/mysqldump -u root -password--databases BDname >"$HOME/Backup/DBname_$(date +\%F).sql"
date +%F
日付がフォームに生成されますYYYY-MM-DD
。バックスラッシュは%
crontabエントリで%
特別な意味を持つため、エスケープする必要があります。
生成されたダンプファイル名今日しますDBname_2017-10-06.sql
。
dumpコマンドを独自のスクリプトに入れてスケジュールすると、より管理しやすいタスクが得られます。このcrontabエントリは、何が起こるかの境界ケースです。少しクローンの操作にはあまりにも「簡単ではありません」。
私はインタラクティブシェルを除くすべての場所でホームディレクトリの代わりにこれを使用する傾向があります$HOME
。これは主にこれが変数として機能せず、スクリプトやここでのようにcrontabでより説明的であるためです。例を見る~
~
$HOME
二重引用符の中でチルダ(〜)が拡張されないのはなぜですか?
以前のデータベースのバックアップもクリーンアップする必要がある場合は、次の質問に対する回答を参照してください。X日を過ぎたファイルを削除
これは別々のcronジョブで実行することも、2つのジョブ(バックアップ+クリーンアップ)を1つのスクリプトにまとめてスクリプトをスケジュールすることもできます(私がすること)。