Merhabalar bugün sizlere Centos Plesk cron ile mysql database otomatik yedekleme nasıl yapılır onun kodlarını paylaşıp dilim döndüğüncede yazmaya çalışacağım.
Plesk kullanan root ” yöneticiler ” database yedeklemek için bir çok yöntem kullanırlar, her yiğidin yoğurt yiğişi farklıdır neticede bende şirket için farklı bir şekilde yoğurt yeme şeklini benimseyip alt kısımdaki bash scriptini yazdım.
Ne gereke vardıki?
Diyenler olabilir elbette bu işlemleri plesk üzerinden zamanlanmış görev şeklinde oluşturup full yedek alabilirsiniz, istediğiniz gib derleyebilirsinizde ama dediğim gibi ben yoğurdu böyle sevdim :)).
Neler yapılabilir ?
Bu alttaki kodları kendi istediğiniz gibi geliştirebilirsiniz elbette. Bir ek yapıp belirli zaman aralığına gelenleri silebilir, belirli ay dönemlerini sıkışıtırıp farklı bir klasöre taşıyabilirsiniz, dediğim gbii hayal ve kod gücünüze kalmış gerisi.
Kod çalışıyomu peki ?
Elbette alt kısımda betimlediğim script sorunsuz olarak çalışmaktadır.
Çalışan Kod Bloğu
[code]
#!/bin/bash
DATE=`date +%Y_%m_%d-%H_%M`
USER=admin
PASSWORD=`cat /etc/psa/.psa.shadow`
RESULT=`mysql -u$USER -p$PASSWORD -e "SHOW DATABASES"`
for i in $RESULT
do
#echo $i
if [ $i != "information_schema" ] && [ $i != "Database" ] && [ $i != "apsc" ] && [ $i != "horde" ] && [ $i != "mysql" ] && [ $i != "psa" ] && [ $i != "roundcubemail" ] && [ $i != "performance_schema" ] && [ $i != "phpmyadmin_rZwDter6S4mp" ] && [ $i != "" ];then
NAME=${i}__$DATE
db_size=$(mysql -u$USER -p$PASSWORD –silent –skip-column-names -e "SELECT ROUND(SUM(data_length), 0) FROM information_schema.TABLES WHERE table_schema=’$i’;");
#echo $db_size
mysqldump -u$USER -p$PASSWORD $i | pv –progress –size $db_size > /home/mysql_daily_backup/$NAME.sql
fi
done
#echo $DATE
#echo $RESULT
[/code]
Bize çalışmayan kod bloğunuda verin çalıştıralım sayın kurti. Çalışan kod bloğunu herkes çalıştırır.?
Şimdi bir müdüre kalkıp müdürcüm bu kod çalışmıyor al çalıştır denmez :)) Bize balık tutmayı öğreten sevgili müdürüm.