Cuidado, cron
não usa bash
por padrão. Você precisa especificar o shell usado, bem como PATH
. Por exemplo:
SHELL=/bin/bash
PATH=~/bin:~/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/bin
* * * * * find /opt/backup -type f -regextype posix-extended -not -regex '.*('$(sed 's/ /|/g' <<<$(echo {6..0} | xargs -I{} -d ' ' date --date={}' days ago' +"\%Y\%m\%d" | xargs echo))').*' &> /home/ocdn_adm/f.txt
Enquanto estamos nisso, também gosto de adicionar informações sobre a exibição, para que os comandos dependentes do X estejam funcionando:
DISPLAY=:0
Para depurar seus comandos do cron, você pode dar uma olhada no syslog, informações sobre eles em execução e possíveis erros:
tail -f /var/log/syslog
Exemplo de saída de um comando correto xset m 1 1
:
May 11 14:29:01 cage CRON[25152]: (Ctrl-C) CMD (xset m 1 1)