شكراً اخ SecurityWay .. جزاك الله خير
اعتقد اني اكتشفت الخطء في عملي ... وهو اني في السابق كنت اكتب السكربت على الكمبيوتر ثم ارفعه إلى السيرفر
عندما كتبته في السيرفر مباشرة اشتغل !!!
اخي انا عندي cpanel ... والمعروف ان البكب اما يومي او اسبوعي او شهري
انا كنت اريد ان يكون لدي بكب لقواعد البيانات لثلاثة ايام للخلف ... (اليوم ، قبله ، وما قبله)
فعملت هذا لأخذ بكب قواعد البيانات فقط
كود:
#!/bin/bash
# MYSQL Backup Script
for i in user1 user2 user3
do
cp $i.tar.gz /backup/cpbackup/temp/
tar -xzf /backup/cpbackup/temp/$i.tar.gz
cp /backup/cpbackup/temp/$i/mysql/*.* /backup/cpbackup/alldb
rm -rf /backup/cpbackup/temp/$i
rm $x.tar.gz
done
اعتقد ان هناك الافضل :con2:
انا وجدت هذا السكربت لاخذ بكب لقواعد البيانات لكن لم افهم بعض الجزئيات منه
كود:
#!/bin/bash
MYSQL=\"$(which mysql)\"
MYSQLDUMP=\"$(which mysqldump)\"
CHOWN=\"$(which chown)\"
CHMOD=\"$(which chmod)\"
TAR=\"$(which tar)\"
DATE=$(date +\"%Y-%m-%d\")
BACKUP_PATH=\"(which path)"
#Create database dump directory and go there
mkdir -p $BACKUP_PATH/$DATE
pushd $BACKUP_PATH >> /dev/null
# Loop through each database
for database in `echo \"show databases\" | $MYSQL | grep -v Database`;
do
mkdir -p $DATE/$database
# Dump database
$MYSQLDUMP --defaults-file=/root/.my.cnf --add-drop-table --allow-keywords -a -a -c $database > $DATE/$database.sql
# Loop through each table
for table in `echo \"use $database; show tables\" | $MYSQL $database | grep -v Tables_in_`;
do
# Dumping table
$MYSQLDUMP --defaults-file=/root/.my.cnf --add-drop-table --allow-keywords -q -a -c $database $table > $DATE/$database/$table.sql
done
done
# Create daily archive
$TAR jcf $DATE.tar.bz $DATE
# Ensure only root can access these files
$CHOWN 0.0 -R $DATE
$CHOWN 0.0 $DATE.tar.bz
$CHMOD go-rwx $DATE
$CHMOD go-rwx $DATE.tar.bz
$CHMOD go-rwx -R $DATE/*
# Back to start directory
popd >> /dev/null
وشكراً
،،،