Is there any possibility to pass current date/time to command in my cron job? E.g. I want to make sql dump every night and name the dump file like 'dump-yyyy-mm-dd.sql'.

link|improve this question
feedback

2 Answers

up vote 4 down vote accepted

That would be something along the lines of:

mysqldump database > database-$(date +%F).sql

The $() will embed the output of date +%F, which is YYYY-MM-DD into the command line.

link|improve this answer
Thank you. Ideal solution – user874560 Aug 2 '11 at 12:19
You should be careful to escape %s with backslashes in your format string if you're using a POSIX compliant cron, otherwise everything after the first % will be treated as standard input for the command. Check man 5 crontab for details on this surprising yet fun feature. – mark Aug 2 '11 at 12:27
feedback

Sgaduuw's answer does work (and I've upvoted it), but I usually encourage people to write scripts and call those from cron, rather than try and do too much in the cron command directly. Firstly, it allows to you easily test / enhance your script without having to mess with cron configuration, and secondly it allows you to be in better control of the environment in which your commands execute.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.