Eu fiquei preso a este cronjob que simplesmente não funciona. Eu deixei por um dia para solucionar o problema novamente com alguma idéia nova, mas ainda sem sorte.
Eu tentei encontrar minha resposta nesta grande postagem , mas não tudo está claro para mim e, no final, ele ainda se recusa a trabalhar. E para piorar tudo, não há logs, nenhum erro para localizar o cron em / var / log.
O que eu tento conseguir?
Automatize a remoção de diretórios que são preenchidos por uma câmera IP. Nos diretórios estão os instantâneos.
Aqui está uma visão da lista.
pi@raspberrypi:/media/pi/USB/Dahua/Dahua $ ll
total 24K
drwxr-xr-x 3 xxxxxxxx xxxxxxxxx 4.0K Sep 2 05:59 2018-09-02d
drwxr-xr-x 3 xxxxxxxx xxxxxxxxx 4.0K Sep 3 00:57 2018-09-03d
drwxr-xr-x 3 xxxxxxxx xxxxxxxxx 4.0K Sep 4 02:03 2018-09-04d
drwxr-xr-x 3 xxxxxxxx xxxxxxxxx 4.0K Sep 5 01:20 2018-09-05d
drwxr-xr-x 3 xxxxxxxx xxxxxxxxx 4.0K Sep 6 00:20 2018-09-06
-rw-r--r-- 1 xxxxxxxx xxxxxxxxx 4.0K Sep 6 22:28 DVRWorkDirectory
Eu gostaria de manter os x arquivos mais recentes e me livrar do resto. Tudo isso com um cronjob que seria executado, vamos dizer toda semana ou todo dia em um determinado horário.
Parece não ser difícil, mas eu simplesmente não consigo fazer funcionar. É verdade, meu conhecimento em Linux é básico e provavelmente será a causa do meu problema.
Etapa 1: meu script, as permissões e o local do arquivo.
Na minha pesquisa, descobri que esses três tópicos são importantes. Então, isso deve ser uma informação valiosa.
-rwxr--r-- 1 root staff 183 Sep 6 15:22 dahuapurge.sh
/usr/local/bin
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
#
#
#Keep the Dahua pics for max x time.
cd /media/pi/USB/Dahua/Dahua/
sudo rm -rf 'ls -tl | tail -n +8'
Etapa 2: minha configuração do cronjob.
Para criar o cronjob, usei o comando crontab -e. No arquivo, toda linha é comentada, exceto minha regra escrita manualmente. Eu sei, eu configurei para funcionar a cada hora no momento.
# AUTHOR: - xxxx xxxx
# DATE: - 31/08/2018
# DESCR: - Purge Cam pics
# LINK: -
#
0 * * * * /usr/local/bin/dahuapurge.sh
UPDATE:
Eu poderia ter encontrado um dos meus erros ou talvez o erro. Mas eu estava muito longe do meu post, então eu compartilho mesmo assim.
Eu adicionei a opção -rf ao meu comando rm porque eu tento excluir diretórios e não arquivos. Eu modifiquei meu script e ele deve remover 1 diretório novamente em cerca de 30 minutos.
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
#
#
#Keep the Dahua pics for max x time.
cd /media/pi/USB/Dahua/Dahua/
sudo rm -rf 'ls -tl | tail -n +7'
UPDATE:
Ainda não estou funcionando, mas vou tentar as sugestões de onde postou e atualizei este o mais cedo possível.