05
12
2012

Mysql veribatanındaki her tablonun ayrı ayrı yedeğini almak ve klasöre toplamak için shell scripti

Kategorisi : Mysql
#!/bin/bash

 DB_BACKUP="/backups/mysql_backup/`date +%Y-%m-%d`"
 DB_USER="root"
 DB_PASSWD="sifre"
 HN=`hostname | awk -F. '{print $1}'`

 # Backup klasörü
 mkdir -p $DB_BACKUP

 # 10 günden eski backupları silelim
 find /backups/mysql_backup/ -maxdepth 1 -type d -mtime +10 -exec rm -rf {} ;

 # Seçenek 1: root ile bağlanıp her db'nin yedeğini alalım
 for db in $(mysql --user=$DB_USER --password=$DB_PASSWD -e 'show databases' -s --skip-column-names|grep -vi information_schema);
 do mysqldump --user=$DB_USER --password=$DB_PASSWD --opt $db | gzip > "$DB_BACKUP/mysqldump-$HN-$db-$(date +%Y-%m-%d).gz";
 done

 # Option 2: root değilsek bunu kullanabiliriz
 # for db in $(mysql -e 'show databases' -s --skip-column-names|grep -vi information_schema);
 # do mysqldump --opt $db | gzip > "$DB_BACKUP/mysqldump-$HN-$db-$(date +%Y-%m-%d).gz";
 # done

 # sadece root a okuma yetkisi verelim
 chmod -R 600 $DB_BACKUP
 # cron'a atayalım
/usr/local/bin/mysql_backup.sh gibi bir isim verelim, chmod 700 ile kendimize okuma izni verelim:

# cron kaydı
 30 3 * * * /usr/local/bin/mysql_backup.sh

Login gerekli Giriş .


photo

Php, ajax, jquery, mootools web programlama. Linux, apache, lamp sunucu yönetimi. Cpanel, plesk, lxadmin panel kurulumlari.

01 / 07 / 2025, 17:02:13
Web yazilim, grafik
barbetto.com

Tunalioglu.org - 2015