После переустановки и настройки системы на почту стали приходить сообщения:
Cron test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
/etc/cron.daily/logrotate: error: error running shared postrotate script for '/var/log/mysql.log /var/log/mysql/mysql.log /var/log/mysql/mysql-slow.log ' run-parts: /etc/cron.daily/logrotate exited with return code 1
Решение следующее:В Debian, управление процессом mysql производится через системного пользователя 'debian-sys-maint'@'localhost'. Пароль для пользователя хранится в /etc/mysql/debian.cnf.
Следует помнить, что пароль в данном файле нельзя просто поменять - полуичте не работающий MySQL.Получив пароль из данного файла, необходимо выполнить следующие команды в mysql от имени пользователя root или другого с правами суперпользователя.
В консоли mysql>, вводим следующее:
Возможен вариант, когда пользователь 'debian-sys-maint' отсутствует в таблице mysql.user. В этом случае его нужно предварительно создать:
После чего перезапустить logrotate
отсюда
Cron test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
/etc/cron.daily/logrotate: error: error running shared postrotate script for '/var/log/mysql.log /var/log/mysql/mysql.log /var/log/mysql/mysql-slow.log ' run-parts: /etc/cron.daily/logrotate exited with return code 1
Решение следующее:В Debian, управление процессом mysql производится через системного пользователя 'debian-sys-maint'@'localhost'. Пароль для пользователя хранится в /etc/mysql/debian.cnf.
# cat /etc/mysql/debian.cnfили
# grep -m 1 password /etc/mysql/debian.cnf | cut -d" " -f3
Следует помнить, что пароль в данном файле нельзя просто поменять - полуичте не работающий MySQL.Получив пароль из данного файла, необходимо выполнить следующие команды в mysql от имени пользователя root или другого с правами суперпользователя.
mysql -u root -p
В консоли mysql>, вводим следующее:
GRANT RELOAD, SHUTDOWN, PROCESS, SHOW DATABASES, SUPER, LOCK TABLES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'XXXXXXXXXXXX';Вместо 'XXXXXXXXXXX' необходимо указать полученный пароль.
Возможен вариант, когда пользователь 'debian-sys-maint' отсутствует в таблице mysql.user. В этом случае его нужно предварительно создать:
# mysql -u root -p Enter password: mysql> use mysql; mysql> update user set authentication_string=PASSWORD("XXXXXXXXXXXXX") where user='debian-sys-maint'; mysql> flush privileges; mysql> exit
После чего перезапустить logrotate
отсюда