Primeiro, insira o comando find ...
em um script bash
e chame esse script do seu crontab
. Se você tiver um diretório inicial criptografado ( cat /home/.ecryptfs/$USER/.ecryptfs/Private.mnt
), precisará armazenar seu script fora da árvore de diretórios $HOME
. Manter um comando em crontab
torna a configuração, o registro e a depuração mais difíceis, e o analisador do comando crontab
não é tão inteligente quanto bash
.
Segundo, sempre, sempre, teste SEMPRE find
com -print
e coloque-a em prática antes de considerar -delete
.
Em terceiro lugar, o find
test " -mtime 29
" está informando find
"Encontre o arquivo mtime
e retorne True
se for igual a 29
. Você deve usar -mtime +29
, que find
vê como " more than 29
", que é o que você quer. De man find
:
Numeric arguments can be specified as
+n for greater than n,
-n for less than n,
n for exactly n.
Quarto, certifique-se de ter acesso de gravação aos diretórios em /home/USER/DIRECTORY1/DIRECTORY2/
.
Quinto, você quer dizer /home/USER/DIRECTORY1/DIRECTORY2/
ou /home/$USER/DIRECTORY1/DIRECTORY2/
? Se $USER
for para o ID do usuário, você tem um problema: cron
não define $USER
no ambiente de tempo de execução. Ele define $HOME
, então você pode usar $HOME/DIRECTORY1/DIRECTORY2
.