ورود

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : اسکریپت بک آپ اتوماتیک از دیتابیس و انتقال به سرور مجزا( Bash )



iMohsen
March 10th, 2014, 17:14
سلام
من برای یک کار شخصی احتیاج داشتم که یه اسکریپت اتوماتیک بک آپ بگیره ( هر تیبل جدا گانه بگیره که فشار به سرور نیاد ) و بک آپ هر تیبل رو پس از تکمیل انتقال بده به سرور دوم و فایلش رو پاک کنه و بره سراغ تیبل بعدی .

حتی نیاز بود که اگر در سرور هدف پوشه موردنظر من وجود نداشت اسکریپت بره خودش بسازه پوشه رو و بک آپ رو بریزه تو اون پوشه .
این اسکریپت رو نوشتم . ممکنه ایراداتی داشته باشه ولی به هر حال فعلا کار من رو راه انداخته ... گفتم بزارم که بقیه دوستان اگر نیازشون شد ازش استفاده کنن و الکی وقت صرف نوشتن نکنن .

این اسکریپت لاگ عملیات بک آپ رو هم بعد از اتمام ایمیل میکنه
نکته : بین سرور اول و سرور دوم باید ssh passwordless login فعال باشه .
یه نسخه ftp هم داره این که الان دم دستم نیست اونو هم میزارم که با ftp منتقل میکنه



/bin/sh
NOW=$(date +"%d-%m-%Y")
DAY=$(date +"%a")
MUS="MYSQL_USERNAME"
MPA="MYSQL_BACKUP"
MHO="localhost"
MDB="DATABASE_NAME"
MYSQL="$(which mysql)"
GZIP="$(which gzip)"
LOG="/root/backup.log"
RIP="REMOTE_BACKUP_SERVER_IP"
RPATH="/home/daily/$(date +'%d-%m-%Y')"
EMAIL="mohsenshahbazi@gmail.com"
echo "Backup started in $(date +'%d-%m-%Y %H:%M:%S')" > $LOG
tables=$(mysql -ss -h $MHO -u $MUS -p$MPA $MDB -e'show tables;')
#tables=$(mysql -ss -h $MHO -u $MUS -p$MPA $MDB -e"show tables LIKE '%$1%';") uncomment to backup specific table in database
f="$(ssh root@$RIP mkdir -p $RPATH)"
for t in $tables
do
FILE=mysql-$MDB-$NOW-$(date +"%T")-$t.gz
echo "Dumping $t"
mysqldump -u $MUS -p$MPA $MDB --tables "$t" | $GZIP -9 > $FILE
echo "Table $t BACKED UP - $(date)" >> $LOG
scp ./$FILE root@$RIP:$RPATH
echo "$t Moved to backup server"
rm -fr $FILE
echo "$t BackupFile Has Been Deleted"
done
echo "Date :$(date)">>$LOG
echo "HOST:$(hostname)">>$LOG
echo "BACKUP DONE">>$LOG
mail -s "Daily backup-$(date +'%d-%m-%Y') Done" "$EMAIL" <$LOG

it-net
March 10th, 2014, 19:06
ممنون دوست من
این ایمیل میکنه یا به اف تی پی ارسال میکنه؟