LINUX.ORG.RU
ФорумAdmin

Mysql Dumping


0

0

#!/usr/local/bin/bash

#+--------------------------------------+
#| Here, we get the databases list,     |
#| using the SHOW DATABASES query       |
#| and backup all 064* named DATABASES  |
#| to the BACKUP/DATE                   |
#+--------------------------------------+


DATE=`date "+%d.%m.%Y"`
BACKUP=/usr/local/www/db_backup/
NOWDIR=$BACKUP/$DATE
DATABASES=`echo "show databases;" | mysql --password=***** \
                              --user=***** |  awk '/064/ {print}'`


# ----- Create NOWDIR -----
#       if not exists
if [ ! -e "$NOWDIR" ] ;
    then  mkdir $NOWDIR
fi

#----- DUMPING -------
# dumping all 064 named
# DATABASES

for i in  $DATABASES
do
   mysqldump  $i   --opt \
                   --password=***** \
                   --user=***** |  gzip  -c > "$NOWDIR/$i($DATE).gz"
done
==================================
Вот такой скрипт(из /etc/periodic/daily), 
по идее должен бэкапить 
базы данных 064* , но в папке с бэкапом
не набдюдаются архивы с дампами, почему ?
Если запускаю скрипт сам, то вроде все бэкапится,
в чем трабла.
OS : FreeBSD

anonymous

Ответ на: комментарий от anonymous

У cron что, другие переменные окружения ?

когда запускаю сам, все работает, запускаю из под su

anonymous
()

1. Нужно всегда указывать полные пути.

2. Курить man 5 crontab на предмет того, что на самом деле в $SHELL.

Подробности -- в поиск по opennet. Мусолят одно и то же регулярно.

Obidos ★★★★★
()
Ответ на: комментарий от Obidos

DATE=`/bin/date "+%d.%m.%Y"`
BACKUP=/usr/local/www/db_backup/
NOWDIR=$BACKUP/$DATE
DATABASES=`/bin/echo "show databases;" | /usr/local/bin/mysql \
                       --password=***** \
                       --user=**** |  /usr/bin/awk '/064/ {print}'`


# ----- Create NOWDIR -----
# if exists
if [ ! -e "$NOWDIR" ] ;
    then  /bin/mkdir $NOWDIR
fi

#----- DUMPING -------
# dumping all 064 named
# DATABASES

for i in  $DATABASES
do
        /usr/local/bin/mysqldump  $i   --opt \
          --password=***** \
          --user=**** |  /usr/bin/gzip  -c > "$NOWDIR/$i($DATE).gz"
done

anonymous
()
Ответ на: комментарий от anonymous

Ну echo в bash встроенный есть. imho проще задать в crontab $PATH

anonymous
()
Ответ на: комментарий от anonymous

> У cron что, другие переменные окружения ?

Разумеется. Кинь в /etc/periodic/minute(или что есть)
#!/usr/local/bin/bash
set >/tmp/set

и посмотри /tmp/set

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.