2012-02-02 14 views
25

He creado una tarea cron en mi servidor web para hacer una copia de seguridad diaria de mi base de datos y me gustaría adjuntar la fecha actual al nombre del archivo.Tarea cron: añada la fecha actual al nombre del archivo mediante Cron?

trabajo Mi Cron se parece a esto

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

embargo, el archivo que se ve es la siguiente: db_backup + fecha ninguna extensión de archivo o fecha.

También he intentado este comando

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

pero que ni siquiera da una salida de archivos.

¿Cuál es la sintaxis correcta para obtener la fecha anexada a mi archivo?

sincero
- Mestika

Respuesta

23

Debe utilizar `` en lugar de '' todo el comando que desea ejecutar para generar la fecha actual para su nombre de archivo.

+1

se puede modificar la respuesta o alguien dar un ejemplo más exacta en los comentarios? –

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

Solo necesita escaparse de los paréntesis.

Otros formatos de fecha: http://www.cyberciti.biz/faq/linux-unix-formatting-dates-for-display/

+2

No funciona en CentOS .. – raven

+3

Trabajando en CentOS 6.6. */10 * * * */usr/bin/php -q /var/www/script.php> cron-job-log - $ (date + \% Y \% m \% d \% H \% M \% S) .txt – ursuleacv

+0

El @ursuleacv respuestas funciona como se esperaba. Aquí está mi comando cron de muestra: '08 10 * * * mysqldump -uYeBeSis_X2 -pPASWORDTHING dbName>/var/www/yebesis/mysqly/$ (date + \% Y _ \% m _ \% d _ \% I _ \% M _ \% p) _yebesis.sql' – caglaror

5

que necesitan para crear un nuevo archivo de registro de comandos se ejecuta cada vez. Así que cada día que debería tener un registro como éste /home/me/Logs/power_20151230.log La línea crontab que yo uso es la siguiente:

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

Nota el carácter de subrayado debe ser escapado también.

1

debe escapar el formato y utilizar la evaluación

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