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é?


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.


4

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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.