Делаю
cd /etc/periodic/weekly/
ee backup_nodeny.sh
#!/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
passwd_root_mysql=`perl -e'require "/usr/local/nodeny/history.nod"; print $sql_root_pass;'`
mysql_cmd='/usr/local/bin/mysql'
mysqldump_cmd='/usr/local/bin/mysqldump'
fl=`date "+%d-%m-%Y"`
cd /var/backups/
echo show tables | ${mysql_cmd} -u root --password=${passwd_root_mysql} bill | \
grep -v '^[stuvxyz]2' | grep -v 'traf_info' | grep -v '^Tables' | \
xargs ${mysqldump_cmd} -R -Q --add-locks -u root --password=${passwd_root_mysql} \
--default-character-set=cp1251 bill $1 > bill_${fl}.sql
tar -c -z -f ${fl}.tar.gz bill_${fl}.sql
rm -f bill_${fl}.sql
chmod 400 ${fl}.tar.gz
chmod 700 backup_nodeny.sh
./backup_nodeny.sh
в /var/backups создается архив с сегодняшним числом. За этим все по мануалу восстанавливаем базу в test меняем ее в админке и все работает.
Но если бекап создается по расписанию, то его размер гораздо меньше и при восстановлении видно, что это пустая начальная база Nodeny.
Откуда он ее бекапит интересно?
Бэкапятся файлы вот такого содержания
-- MySQL dump 10.13 Distrib 5.5.2-m2, for portbld-freebsd8.0 (i386)
--
-- Host: localhost Database: bill
-- ------------------------------------------------------
-- Server version<----->5.5.2-m2-log
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES cp1251 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
Методом проб выяснил, что эти почти пустые бэкапные файлы создаются только при перезагрузке (/etc/periodic/weekly/backup_nodeny.sh). Причем при перезагрузке файлы заменяются! Например, если даже я в ручную запустил backup_nodeny.sh и создал нормальный архив с рабочей базой, то после перезагрузки, он заменится на не рабочий.
Сейчас прописал делать бек каждый день в 4.00, посмотрим как сработает.
В 4.00 создался нормальный архив, но после перезагрузки обратно заменился на пустой.
Что делать?