The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
не отрабатывает оператор for, если пускать скрипт по крону, !*! panoff, 16-Май-10, 04:35  [смотреть все]
имеем:
FreeBSD 8.0 и sh скрипт для бекапа mysql и файлов

задача: раз в сутки по крону бекапить базы и файлы и акуратно складывать в папки

проблема: скрипт прекрасно работает, если запускать самому, работает из под рута и из под простого юзера backup, но при добавление в крон, скрипт упорно отказывается входить в оператор for, как раз таки где и происходит бекап баз. Изголялся с кроном уже, как мог, запускал от разных юзеров, дописывал PATH и SHELL
все равно одно и то же.
Папка $DIR/$DAY создается и в ней появляется files_backup.tgz, но вот дампы не делаются, по причине того, что цикл for не отрабатывает...
Сначала думал, что касячит вызов функции backup_mysql, пробовал без использования функции, но при этом функция backup_files всегда отрабатывала

ниже привожу листинг скрипта, ткните носом, где ошибся, у меня глаз уже замылился, кучу времени убил на эту ерунду, самому стыдно...
за основу брался этот скрипт http://www.cyberciti.biz/tips/how-to-backup-mysql-databases-...

#!/bin/sh

WORKDIR='/root/backup'
DIR='/home/backup/files'
DAY=`date +%F`


TEST=`ls -l $DIR | grep $DAY | wc -l`

if [ $TEST = 0 ];.
then
mkdir $DIR/$DAY
fi

### MySQL Setup ###
MUSER="dump"
MPASS="password"
MHOST="localhost"

### Where is BIN files ###
MYSQL=`which mysql`
MYSQLDUMP=`which mysqldump`
GZIP=`which gzip`
TAR=`which tar`
FIND=`which find`
RMDIR=`which rmdir`

DBS="$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse 'show databases' | grep -v 'information_schema' | grep -v 'mysql')"

backup_mysql ()
{
for db in $DBS;
do
  dbDAY=`date +%H-%M`
  FILE=$DIR/$DAY/$db-$dbDAY.sql.gz
  $MYSQLDUMP -u $MUSER -h $MHOST -p$MPASS --database $db | $GZIP -1 > $FILE
done
}


backup_files ()
{
LIST=`cat $WORKDIR/backup_list`
FOLDER=`$TAR -czf $DIR/$DAY/files_backup.tgz $LIST`
}

backup_mysql
backup_files

$FIND $DIR/* -type d -mtime +7 -exec $RMDIR -R {} \;

cron
0 6 * * * /root/backup/backup.sh > /dev/null 2>&1




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру