Svuotare /var/log/mysql/mysql.log: nessuna autorizzazione


0

Voglio cancellare il contenuto di /var/log/mysql/mysql.log. Ho provato questo:

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

Ma dice che non ho i permessi. Questa è una strage per me perché, come puoi vedere, lo eseguo come root.

Perché non posso svuotare il contenuto di mysql.logcon quel comando? Qual è il tuo consiglio per svuotarlo?


forse il file di registro è bloccato / in uso da mysql, prova prima a terminare il processo mysql.

Risposte:


4

L' >operatore reindirizza l'output standard da sudo(che viene invocato con argomenti cat /dev/null) e quindi si sta tentando di scrivere nel file di registro con i propri privilegi utente effettivi, non con privilegi sudo elevati.

Devi invece:

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

O:

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

Questa è la risposta giusta Come in una pipe, i tuoi privilegi sudo svaniscono quando fai un reindirizzamento.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.