web-dev-qa-db-ja.com

Cronタスク:現在の日付をCron経由でファイル名に追加しますか?

データベースを毎日バックアップするために、ウェブホストでCronタスクを作成しました。ファイル名に現在の日付を追加したいと思います。

クロンの仕事はこんな感じ

mysqldump -u username -pPassword db_name > www/db_backup/db_backup+date%d%m%y.sql

しかし、私が取得するファイルはこれです:db_backup + date no file extension or date。

私もこのコマンドを試しました

mysqldump -u username -pPassword db_name > www/db_backup/db_backup_'date +%d%m%y'.sql 

しかし、それはファイル出力さえも与えません。

ファイルに日付を追加するための正しい構文は何ですか??

誠実
-メスティカ

33
Mestika

ファイル名の現在の日付を生成するには、実行するコマンドの周りで``の代わりに''を使用する必要があります。

29
Fonzarely
* * * * * echo "hello" > /tmp/helloFile_$(date +\%Y\%m\%d\%H\%M\%S).txt

括弧をエスケープするだけです。

その他の日付形式: http://www.cyberciti.biz/faq/linux-unix-formatting-dates-for-display/

54
ethanneff

形式をエスケープし、評価を使用する必要があります

mysqldump -u username -pPassword db_name > www/db_backup/db_backup_`date +\%d\%m\%y`.sql
5
RomAndNonES

コマンドを実行するたびに新しいログファイルを作成する必要があります。そのため、毎日このようなログが必要です/home/me/Logs/power_20151230.log私が使用するcrontab行は次のとおりです。

00 8 * * * /home/me/power.py ON >> /home/me/Logs/power\_`date +20\%y\%m\%d`

アンダースコア文字もエスケープする必要があります。

5
edison