У мене є сценарій під назвою /etc/cron.daily/99loganalyzer_expire, який є таким:
#!/bin/bash
SQL="DELETE FROM SystemEvents WHERE ReceivedAt < DATE_SUB(CURDATE(),INTERVAL 30 DAY)"
MYSQL_USER="loganalyzer"
MYSQL_PASS="loganalyzerpassword"
MYSQL_DB="Syslog"
echo $SQL | /usr/bin/mysql --user=$MYSQL_USER --password=$MYSQL_PASS $MYSQL_DB
Коли вона працює протягом ночі, я отримую електронний лист із повідомленням, що не вдалося:
/etc/cron.daily/99loganalyzer-expire:
ERROR 1045 (28000): Access denied for user 'loganalyzer'@'localhost' (using password: YES)
... проте, коли я запускаю його як корінь з консолі, він працює:
# time /etc/cron.daily/99loganalyzer-expire
real 1m16.391s
user 0m0.012s
sys 0m0.008s
Як я можу передати облікові дані цього користувача mysql, щоб вони працювали під час роботи?
> /tmp/loganalyzer.log 2>&1
до кінця рядка, щоб побачити, що відбувається.