Portál AbcLinuxu, 8. listopadu 2025 09:04
# BackUp databases
backup_database()
{
# Check if exist temp dir
temp="/tmp/__temp__backup__database__";
check_dir $temp;
# Change work directory to root
cd /;
# All database list
DbList="$(mysql -u $MyUSER -h $MyHOST -p$MyPASS -Bse 'show databases')";
for db in $DbList
do
# If is not in black list create dump
if ! in_array "$db" "${DatabaseBlackList[@]}";
then
# MySql dump
mysqldump -u $MyUSER -p$MyPASS $db > $temp/$db.dump.sql;
fi
done
# Check if exist backup dir
dir=$DIR_BACKUP_DATABASE/$DATE;
check_dir $dir;
# Change work directory to temp
cd $temp;
# Create pack
tar cfz $dir/$TIME.tar.gz *;
# Delete temp dir
rm -rf $temp;
echo "Database backup done!";
}
Zatim jsem provedl cca 20 záloh (každá jednou za h), ale 2x někde nastala chyba.
Jednou v nově vytvořeném tar.gz nebyly zálohy všech databází a podruhé to dokonce udělal tar.gz, který měl skoro GB (zabalilo to skoro celý disk).
Kde mám chybu? Jak předejít těmto problémům? Děkuji.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.