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

9

Estoy tratando de crear un archivo crontabnuevo .tarcada minuto todos los días hábiles utilizando 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é?

LUXS
fuente
No puedo dejar de leer el título como "Hacer cada minuto de archivo usando crontab" (minuto como en pequeño) porque falta el artículo (no es culpa de OP), así que lo estoy arreglando.
gato
3
¿Por qué usarías */1? ¿No es lo mismo que solo *?
nada101

Respuestas:

15

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

Así que tú necesitas:

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

O puede usar un script y usar todos los comandos del script y llamar al script desde crontab.

De man 5 crontab:

Los signos de porcentaje (%) en el comando, a menos que escapen con una barra diagonal inversa (\), 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.

heemayl
fuente
4

Usar en \%lugar de %- cron usa %como una nueva línea.

YHOLGA
fuente