Я хочу очистить содержимое /var/log/mysql/mysql.log . Я попробовал это:

sudo cat /dev/null > /var/log/mysql/mysql.log

Но это говорит, что у меня нет разрешений. Это ужасно для меня, потому что, как вы видите, я запускаю его как root.

Почему я не могу очистить содержимое mysql.log с помощью этой команды? Что бы вы посоветовали очистить?

1 ответ1

4

Оператор > перенаправляет стандартный вывод из sudo (который вызывается с аргументами cat /dev/null), и поэтому вы пытаетесь записать в файл журнала действительные пользовательские привилегии, а не повышенные привилегии sudo.

Вместо этого вы должны либо:

sudo bash -c "cat /dev/null > /var/log/mysql/mysql.log"

Или же:

cat /dev/null | sudo tee /var/log/mysql/mysql.log

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .