Четкое использование кэша памяти Crontab

Я пытаюсь очистить кэш памяти с помощью крона.

Файл крона:

*/2 * * * *  ~/clear_mem.sh

clear_mem.sh:

#!/bin/sh
sudo sh -c "sync; echo 3 > /proc/sys/vm/drop_caches"
touch f

Файл f создается каждые две минуты. Но память не очищена. Если я называю сценарий руками, все прекрасно. Почему?

2
задан 1 August 2016 в 04:25

1 ответ

Поскольку cron команды выполнений нев интерактивном режиме, нет никакого пути к sudo для аутентификации.

Для команд, которые требуют корневого разрешения, необходимо использовать crontab корня (т.е. sudo crontab -e вместо плоскости crontab -e) и затем избежать использования sudo в рамках команд и сценариев в целом.

необходимо также дать полный путь сценарию - предпочтительно определяют местоположение его некоторые в масштабе всей системы, например, /usr/local/bin/clear_mem.sh вместо ~/clear_mem.sh

3
ответ дан 2 December 2019 в 02:51

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

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