Сценарий для очистки буферов / кеша по-прежнему говорит, что в разрешении отказано

У меня есть сценарий под названием clearcache.sh для очистки моих буферов / кеша, но когда я запускаю, он продолжает говорить Permission denied.

Что находится в скрипте: clearcache.sh

#!/bin/bash
sync && echo 1 | tee /proc/sys/vm/drop_caches

Права:
-rwxr-xr-x 1 rt rt 464 Dec  5 02:10 clearcache.sh

Image


Как я запускаю его для проверки:

rt@sys76:~/clearcache$ ./clearcache.sh 
tee: /proc/sys/vm/drop_caches: Permission denied
1

Я хочу поместить это в хронологическое задание, но мне нужно чтобы обойти эту проблему с разрешениями:

Обновление: Вот файл drop_caches и права на него принадлежат пользователю root. Как правильно запустить его из задания хронирования с помощью сценария? {{1} } PS: Я использую Ubuntu 20.04

image2

1
задан 5 December 2020 в 10:40

1 ответ

root & perms

Полагаю, вы запускаете свой скрипт с правами root (?)
Ни в коем случае не надо изменять права доступа к файлу

не нужно tee

Не нужно tee, лучше использовать sysctl

sudo sync && sudo sysctl vm.drop_caches=1

pagecache, dentries & inodes

vm.drop_caches=1 # to free pagecache
vm.drop_caches=2 # to free dentries & inodes
vm.drop_caches=3 # to free pagecache, dentries & inodes

Так почему бы не использовать vm.drop_caches=3

расписание cron

Если вы хотите запланировать его с помощью cron, вы можете создать свой скрипт для пользователя root, а затем запланировать его, вставив задание в корневом crontab

Сценарий

#!/bin/bash
/usr/bin/sync
# /usr/bin/echo 1 | /usr/bin/tee /proc/sys/vm/drop_caches
/usr/sbin/sysctl vm.drop_caches=1

Поместите файл сценария в каталог, доступный пользователю root. Например, в папку /root, т.е. /root/clearcache.sh

, затем добавьте root cronjob
Здесь скрипт будет запускаться каждые часы, 0 минут, каждый день

sudo crontab -e
0 * * * * /root/clearcache.sh

Наконец
Сценарий не требуется, просто добавьте две команды в качестве задания в корневой crontab

sudo crontab -e
0 * * * * /usr/bin/sync; /usr/sbin/sysctl vm.drop_caches=1
5
ответ дан 5 December 2020 в 07:45

Другие вопросы по тегам:

Похожие вопросы: