검색 엔진의 방문이 늘어나고 있군...

Posted
Filed under 쉘 스크립트
원문 : http://www.linuxforum.com/threads/backup-all-databases-nightly-w-mysqldump.692/

  당일 날짜로 된 디렉토리를 만들어 그 안에 DB를 백업해 넣는 스크립트입니다.
#!/bin/bash

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

# Create the backup directory
mkdir -p $DB_BACKUP

# Remove backups older than 10 days
find /backups/mysql_backup/ -maxdepth 1 -type d -mtime +10 -exec rm -rf {} \;

# Option 1: Backup each database on the system using a root username and password
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: If you aren't using a root password then comment out option 1 and use this
# 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
  mysql의 root 계정 패스워드가 들어있기 때문에 퍼미션을 700으로 변경 후 cron에 등록하면 됩니다.
2013/06/23 17:03 2013/06/23 17:03