文章定时自动采集(自动备份mysql全库脚本功能 )

优采云 发布时间: 2021-09-28 08:22

  文章定时自动采集(自动备份mysql全库脚本功能

)

  脚本函数:

  1、自动备份完整的MySQL数据库,一周前自动删除备份,数据有效期为一周

  2、自动备份网站数据,三个月前自动删除备份,数据有效期为三个月;每月1日进行完整目录备份,其他时间进行增量备份

  3、对备份数据进行权限控制,防止恶意人员查看和修改。如果使用root权限执行脚本,则其他用户对备份数据没有任何权限

  #!/bin/bash

#

#lampp mysql databases and web data backup bash;

#mysql backup data keep 7 days;

#website backup data keep 3 months and incremental backup in per month.

#author:LinuxPad

#website:www.linuxpad.cn

#mail:linuxpad.cn(at)gmail.com

#created:26 November 2012

#Mysql dabase information

db_host="localhost"

db_user="root"

db_passwd=""

MYSQL="/opt/lampp/bin/mysql"

MYSQLDUMP="/opt/lampp/bin/mysqldump"

#Path information

WEBHOME="/opt/lampp/htdocs/blog"

BACKUP_DB="/opt/backup/database"

BACKUP_WEB="/opt/backup/web"

#Time information

time=`date +"%Y-%m-%d"`

day=`date +"%d"`

month=`date +"%Y-%m"`

weekday=`date +"%u"`

#Path enable write

if [ ! -w "$BACKUP_DB" ] && [ ! -w "$BACKUP_WEB"]; then

chmod -R 700 $BACKUP_DB $BACKUP_WEB

fi

#Mysql Backup

$MYSQLDUMP -u $db_user -p$db_passwd -h $db_host --all-databases > $BACKUP_DB/$time

cd $BACKUP_DB && tar -czf $time.tar.gz $time && rm -rf $time && chmod go-rwx $time.tar.gz

if [ $weekday == "1" ]; then

find $BACKUP_DB -mtime +7 | xargs rm -rf {}

fi

#Website Backup

if [ ! -d $BACKUP_WEB/$month ];then

mkdir $BACKUP_WEB/$month

touch $BACKUP_WEB/$month/$month

chmod -R go-rwx $BACKUP_WEB/$month

fi

cd $BACKUP_WEB/$month && tar -g $month -czf $time.tar.gz $WEBHOME && chmod go-rwx $time.tar.gz

if [ $day == "01" ]; then

find $BACKUP_WEB -mtime +90 | xargs rm -rf{}

fi

  在使用脚本之前,您需要提前在/opt下建立一个目录

  mkdir -p /opt/backup/{database,web}

chmod -R go-wrx /opt/backup

  添加计划任务

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

  crontab -e

添加以下内容

0 2 * * * /root/crontab/backup.sh 2>/root/crontab/backup.log

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线