O Cron não executa o comando depois que% assina dentro [duplicado]

2

Eu tenho o seguinte comando no cron:

5 6 * * * bash -c "tar -czf /backups/sites-server-files-rotate/sites_'date +%F'.tar.gz /backups/sites-server-files/"

Mas o comando não é executado. E eu posso ver o seguinte no log cron:

Apr 17 06:05:01 backup crond[9423]: (root) CMD (bash -c "tar -czf /backups/sites-server-files-rotate/sites_'date +)

Parece que % sign corta o comando no cron. Por quê? Eu tenho que escapar disso? E como?

    
por Vladislav Rastrusny 17.04.2012 / 13:00

3 respostas

3

Sim, você precisa escapar disso. Uma barra invertida serve.

Você também pode colocar o comando em um script e chamar o script.

    
por 17.04.2012 / 13:02
3

Sim, você precisa escapar disso. Basta digitar \ barra invertida antes de cada ocorrência de % .

O caractere de porcentagem indica uma nova linha no crontab.

    
por 17.04.2012 / 13:02
1

Você pode criar um arquivo bash com seu script e adicioná-lo ao crontab.

Por exemplo: faça o arquivo script.sh

#!/bin/bash

tar -czf /backups/sites-server-files-rotate/sites_\'date +%F\'.tar.gz /backups/sites-server-files/

Em seguida, adicione ao cron:

5 6 * * * /dir/to/your/script.sh
    
por 17.04.2012 / 13:14

Tags