Linux 自动备份脚本

本文备份方法适用于所有Linux系统。

一、先来一分手动备份的例子:

cd  /root/

touch  backup. sh

chmod  +x  backup.sh

# vi /root/backup.sh

输入如下内容:

cd /home/backup/mysql/

/opt/lampp/bin/mysqldump -h localhost -u root -pgd5188 pulaiwuang| gzip >pulaiwuang-$(date +%Y%m%d).sql.gz

tar zcvf /home/backup/www/www.pulaiwang.com_$(date +%Y%m%d).tar.gz /www/html/www.pulaiwang.com/

 

#删除2天前的旧备份

find /home/backup/ -type f -mtime +2 -exec rm -f {} \;

find /home/backup/www/  -type f -mtime +2 -exec rm -f {} \;

find /home/backup/mysql/  -type f -mtime +2 -exec rm -f {} \;

PS:需要事先创建好“/home/backup/mysql/”、“ /home/backup/www/”文件夹

二、测试运行

sh  /root/backup.sh

如果没有出现错误,“/home/backup/mysql/”、“ /home/backup/www/”、“注意 -p 和 $db_passwd之间没有空格,不然$db_passwd会被当做参数[数据库名]来解析”文件夹已经出现备份文件,说明已经备份成功。

三、使用cron定时任务工具实现自动备份

crontab  -e

添加如下内容(每天凌晨3点运行备份脚本)

0 12 * * * sh /root/backup.sh

 

MYSQL备份之二

db_user=”root”
db_passwd=”gd5188″
db_name=”pulaiwuang”
# the directory for story your backup file.you shall change this dir
backup_dir=”/data/backup/mysql”
# date format for backup file (dd-mm-yyyy)
time=”$(date +”%Y%m%d%H%M%S”)”
/opt/lampp/bin/mysqldump -u$db_user  -p$db_passwd $db_name  > “$backup_dir/$db_name”_”$time.sql”

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注