lampp环境下Mysql和网站备份脚本

本文介绍了一个用于自动备份MySQL全库和网站数据的bash脚本,该脚本支持数据有效期设置,并能定期执行全量和增量备份,同时对备份数据进行权限控制以保护数据安全。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个简陋的mysql和网站备份脚本

脚本功能:

1、自动备份mysql全库,自动删除一周前备份,数据有效期为一周。
2、自动备份网站数据,自动删除三个月前备份,数据有效期三个月;每月1号执行目录完全备份,其余时间增量备份。
3、对备份数据进行权限控制,防止恶意人员查看修改,若以root权限执行脚本,则其他用户对备份数据没有任何权限。

1 #!/bin/bash
2 #
3 #lampp mysql databases and web data backup bash;
4 #mysql backup data keep 7 days;
5 #website backup data keep 3 months and incremental backup in per month.
6  
7 #author:LinuxPad
8 #website:www.linuxpad.cn
9 #mail:linuxpad.cn(at)gmail.com
10 #created:26 November 2012
11  
12 #Mysql dabase information
13 db_host="localhost"
14 db_user="root"
15 db_passwd=""
16 MYSQL="/opt/lampp/bin/mysql"
17 MYSQLDUMP="/opt/lampp/bin/mysqldump"
18  
19 #Path information
20 WEBHOME="/opt/lampp/htdocs/blog"
21 BACKUP_DB="/opt/backup/database"
22 BACKUP_WEB="/opt/backup/web"
23  
24 #Time information
25 time=`date +"%Y-%m-%d"`
26 day=`date +"%d"`
27 month=`date +"%Y-%m"`
28 weekday=`date +"%u"`
29  
30 #Path enable write
31 if [ ! -w "$BACKUP_DB" ] && [ ! -w "$BACKUP_WEB"]; then
32     chmod -R 700 $BACKUP_DB $BACKUP_WEB
33 fi
34  
35 #Mysql Backup
36 $MYSQLDUMP -u $db_user -p$db_passwd -h $db_host --all-databases > $BACKUP_DB/$time
37 cd $BACKUP_DB && tar -czf $time.tar.gz $time && rm -rf $time && chmod go-rwx $time.tar.gz
38 if [ $weekday == "1" ]; then
39     find $BACKUP_DB -mtime +7 | xargs rm -rf {}
40 fi
41  
42 #Website Backup
43 if [ ! -d $BACKUP_WEB/$month ];then
44     mkdir $BACKUP_WEB/$month
45     touch $BACKUP_WEB/$month/$month
46     chmod -R go-rwx $BACKUP_WEB/$month
47 fi
48 cd $BACKUP_WEB/$month && tar -g $month -czf $time.tar.gz $WEBHOME && chmod go-rwx $time.tar.gz
49 if [ $day == "01" ]; then
50     find $BACKUP_WEB -mtime +90 | xargs rm -rf{}
51 fi

使用脚本前需在/opt下事先建立好目录

1 mkdir -p /opt/backup/{database,web}
2 chmod -R go-wrx /opt/backup

添加计划任务

假设脚本位置为/root/cron/backup.sh,每天2点执行备份

1 crontab -e
2 添加以下内容
3 0 2 * * * /root/crontab/backup.sh 2>/root/crontab/backup.log
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值