#!/bin/sh # ========> Ayarlar >================ # DB Adi databases="db_adi" # yedegin yuklenecegi yer backupdir=/root/yedeklerim mysqldumpcmd=/usr/bin/mysqldump # db sifresi userpassword=" --user=User_name --password=Sifre_buraya" dumpoptions=" --quick --add-drop-table --add-locks --extended-insert --lock-tables" gzip=/bin/gzip uuencode=/usr/bin/uuencode mail=/bin/mail # Backupun e-maille gonderilmesini istiyormusun?? "y"= Evet "n"= Hayir sendbackup="n" subject="Serverdan yedekleme" mailto="wbturk@wbturk.com" # Yedegin baska bir FTP hesabina yuklenmesini istermisin? "y"= Evet "n"= Hayir ftpbackup="n" ftpserver="ftp.domain.tld" ftpuser="ftp_username" ftppasswd="ftp_pass" # Uzak FTP dosya yolunu yazin ( ornek C:\yedeklerim ftpdir="/root/yedeklerim" #========> Genel ayarlar. >==================== # Haftanin hangi gunu? (0-6) DOW=`date +%w` # Belirlenen klasor yoksa kendin olustur. mkdir -p ${backupdir} if [ ! -d ${backupdir} ] then echo "yerel klasor: ${backupdir}" exit 1 fi echo "Dumping MySQL Databases" for database in $databases do $mysqldumpcmd $userpassword $dumpoptions $database > ${backupdir}/${DOW}-${database}.sql done echo "Compressing Dump Files" for database in $databases do rm -f ${backupdir}/${DOW}-${database}.sql.gz $gzip ${backupdir}/${DOW}-${database}.sql done if [ $sendbackup = "n" ] then for database in $databases do $uuencode ${backupdir}/${DOW}-${database}.sql.gz > ${backupdir}/${database}.sql.gz $mail -s "$subject : $database" $mailto < ${backupdir}/${DOW}-${database}.sql.gz done fi echo "FTP file to $ftpserver FTP server" if [ $ftpbackup = "y" ] then for database in $databases do echo "==> ${backupdir}/${DOW}-${database}.sql.gz" ftp -n $ftpserver < user $ftpuser $ftppasswd bin prompt cd $ftpdir lcd ${backupdir} put ${DOW}-${database}.sql.gz quit EOF done fi ls -l ${backupdir} echo "Backup Bitmistir. Allah yardimciniz olsun ..!" exit