Cree un nuevo archivo una vez por minuto usando "crontab"

Cree un nuevo archivo una vez por minuto usando "crontab"

Estoy intentando crear un archivo crontabque cree un .tararchivo nuevo cada minuto todos los días hábiles usando el siguiente código:

*/1 * * * 1,2,3,4,5 tar -cf /home/user/Archiv/$(date +"%Y%m%d%H%M").tar /home/user/Textverarbeitung/ -P

Esto no funciona. ¿Por qué?

Respuesta1

crontrata %como nuevas líneas. Debe usar escape, es decir, usarlo \%para obtener literal %como se usa en date.

Así que tú necesitas:

date +"\%Y\%m\%d\%H\%M" 

O puede usar una secuencia de comandos y usar todos los comandos en la secuencia de comandos y llamar a la secuencia de comandos desde crontab.

De man 5 crontab:

Los signos de porcentaje (%) en el comando, a menos que se usen como escape una barra invertida (\), se cambiarán a caracteres de nueva línea y todos los datos después del primer % se enviarán al comando como entrada estándar. No hay forma de dividir una sola línea de comando en varias líneas, como el "\" final del shell.

Respuesta2

Úselo \%en lugar de %- cron usa %como nueva línea.

información relacionada