Eu tenho um script chamado clearcache.sh para limpar meus buffers/cache, mas quando executo ele continua dizendo Permissão negada.
O que está no script: clearcache.sh
#!/bin/bash
sync && echo 1 | tee /proc/sys/vm/drop_caches
Direitos:
-rwxr-xr-x 1 rt rt 464 Dec 5 02:10 clearcache.sh
Como eu executo para testar:
rt@sys76:~/clearcache$ ./clearcache.sh
tee: /proc/sys/vm/drop_caches: Permission denied
1
Eu quero colocar isso em um trabalho chron, mas preciso superar esse problema de permissão:
Atualização: Aqui está o arquivo drop_caches e seus direitos de propriedade do root, qual é a maneira correta de executar isso a partir de um trabalho chron usando um script? PS: estou executando o Ubuntu 20.04
raiz e permanentes
Eu acho que você executa seu script com root (?)
De qualquer forma, você não deve modificar os direitos de acesso do arquivo
não há necessidade de tee
Você não precisa
tee
, é melhor você usarsysctl
pagecache, dentries e inodes
Então por que não usar
vm.drop_caches=3
agenda cron
Como você deseja agendá-lo com o cron, você pode projetar seu script para o usuário root e agendá-lo inserindo um trabalho no crontab do root
O roteiro
Coloque o arquivo de script em um diretório disponível para o usuário root. Por ex na
/root
pasta, ou seja/root/clearcache.sh
Em seguida, adicione um cronjob root
Aqui, o script será executado a cada hora, 0 minutos, todos os dias
Finalmente
Um script não é necessário, basta adicionar os dois comandos como um trabalho no crontab do root