Question

I've created a Cron task at my webhost to daily backup my database and I would like it to append the current date to the filename.

My Cron job looks like this

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

But the file I get is this: db_backup+date no file extension or date.

I've also tried this command

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

but that doesn't even give an file output.

What is the right syntax for getting the date appended to my file??

Was it helpful?

Solution

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

You just need to escape the parentheses.

Other date formats: http://www.cyberciti.biz/faq/linux-unix-formatting-dates-for-display/

OTHER TIPS

You should use `` instead of '' around the command you want to execute to generate the current date for your filename.

You must escape the format and use evaluation

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

I need to create a new log file every time command is executed. So every day I should have a log like this /home/me/Logs/power_20151230.log The crontab line that I use is this:

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

Note the underscore character must be escaped too.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top