Понадобилось недавно написать скрипт выполняющий sql запрос в базу MySQL.
Пример содержимого:
# Описание, тут я написал для других что скрипт добавлен в crontab, дабы его не переместили mysql -u ПОЛЬЗОВАТЕЛЬ -pПАРОЛЬ -h 127.0.0.1 -e "UPDATE nika_system.abon SET otkl=0 WHERE depozit > '10' AND (otkl='-1' OR otkl='-2');";
Чтобы скрипт выполнялся автоматически, откроем в любом текстовом редакторе файл crontab (в редакторе nano CTRL+X для выхода и y/n для сохранения или отмены изменений):
sudo nano /etc/crontab
Добавим в него следующую строку:
0 9 * * * root /home/nika/scripts/reset_credit_nika.sh > /dev/null 2>&1
Теперь ежедневно в 9 утра скрипт будет выполняться.
Приведу пример ежедневного автоматического вывода данных из sql таблицы в текстовый файл:
#!/bin/bash mysql -u ПОЛЬЗОВАТЕЛЬ -pПАРОЛЬ -h 192.168.1.1 -s -N -e "SELECT id FROM nika_system.abon WHERE tarif=109;";
В /etc/crontab добавим:
0 8 * * * root /scripts/freektb.sh > /srv/samba/dir/mirazh/$(date +%Y-%m-%d).txt
В целях безопасности лучше не указывать пароль в скриптах, смотрите мою статью — Подключение к MySQL из localhost без ввода пароля