MySQL выполнение запросов в BASH скрипте.

#!/bin/bash

# Скрипт предназначен для удаления данных с базы. История хранится 181 дней.
#
#
#
#

daysago=`date --date="181 days ago" +%F`
result=`mysql -u root -pPASSWORD -vve "USE voyager;
                 DELETE FROM tablename WHERE RECORD_DATE < '$daysago';"`
echo "$result"

daysago=`date --date="181 days ago" +%F` - Вычисляем дату и приводим ее к формату 'YYYY-mm-dd'(тоже самое можно сделать и средствами MySQL)

result=`mysql -u root -pPASSWORD -vve "USE voyager; DELETE FROM tablename WHERE RECORD_DATE < '$daysago';"
mysql -u root -pPASSWORD -vve - Для выполнения запроса используется утилита mysql.
  1. Пароль необходимо писать слитно с опцией -p.
  2. Опции vv позволят нам увидеть какой запрос выполнялся и результат запроса как в интерактивном режиме.
  3. -e (--execute)- выполняет запрос и выходит.

--------------
DELETE FROM records WHERE REC_DATE < '2013-10-31'
--------------

Query OK, 0 rows affected

Bye

Комментарии

  1. Дружище, спасибо ! Оказывается, '$daysago', - переменную берем в одинарные кавычки... Я мозг сломал, пытаясь найти у себя ошибку.

    ОтветитьУдалить

Отправить комментарий

Популярные сообщения