linux定时备份

  • A+
所属分类:Linux 其他

对于每个站长而言,一定要保护好自己的数据,谁也不知道那一天服务器就出问题了。特别使用vps的站长,很多vps都是不提供备份服务的。

本篇文章只是针对使用vps或者独立服务器的站长们使用。虚拟空间自行备份或找支持备份的虚拟空间。

下面介绍一个linux下定时备份的脚本代码。都是一些基本的命令,很多linux新手也能胜任,实在不懂本文也提供了脚本。

脚本代码

在用户目录新建backup.sh文件

新建backup.sh

touch ~/backup.sh

vim ~/backup.sh

backup.sh代码如下:

本地备份
#!/bin/bash
#Function: Backup web and mysql
#Author: MnBlog
#Data: 2017.10.30
### Back Home ###
B_Back_Home=/mnt/backupsh/
### Back Home End ###
### WEB Dir ###
B_Web_DirHome=/home/wwwroot/
#备份目录名称,多个目录用空格隔开
B_Web_Dir=(Dir1 Dir2)
### WEB Dir End ###
### Mysql Username and Password ###
Mysql_Username=root
Mysql_Password=mn2017..
### Mysql Username and Password End ###
### Mysql Database ###
B_Database=(DB1 DB2)
### Mysql Database End ###
### Ftp ###
Ftp_Host=0.0.0.0
Ftp_Username=abc
Ftp_Password=abc
Ftp_Dir=/
### Ftp End ###

B_Old_Day=7

New_Web_File=www-*-$(date +"%Y%m%d").tar.gz
New_Db_File=db-*-$(date +"%Y%m%d").sql
Old_Web_File=www-*-$(date -d -7day +"%Y%m%d").tar.gz
Old_Db_File=db-*-$(date -d -7day +"%Y%m%d").sql
### Backup Web Start ###
for dirv in ${B_Web_Dir[@]}
do
cd$B_Web_DirHome
tar -zcf $B_Back_Home/www-$dirv-$(date +"%Y%m%d").tar.gz $dirv
done
### Backup Web End ###
### Backup Db Start ###
for dbv in ${B_Database[@]}
do
mysqldump -u$Mysql_Username -p$Mysql_Password $dbv > $B_Back_Home/db-$dbv-$(date +"%Y%m%d").sql
done
### Backup Db End ###
### Delete Old 7Day BackUp ###
cd $B_Back_Home
rm -f $Old_Web_File $Old_Db_File

以上为本地备份脚本代码,如果需要加上ftp上传,只需要在代码末尾加上以下代码:

Ftp上传代码

### Ftp ###

Ftp_Host=0.0.0.0

Ftp_Port=21

Ftp_Username=abc

Ftp_Password=abc

Ftp_Dir=/

### Ftp End ###

 

cd $B_Back_Home

 

ftp -n<<!

open $Ftp_Host  $Ftp_Port

user $Ftp_Username $Ftp_Password

binary

cd $Ftp_Dir

lcd $B_Back_Home

prompt

mput $New_Web_File  $New_Db_File

mdelete $Old_Web_File $Old_Db_File

 

close

bye !

脚本地址:linux-backup-web-db.sh(脚本只有本地备份功能)

Linux使用方法

获取脚本:wget -c http://soft.mnblog.cn/Bash/Backup/linux-backup-web-db.sh && chmod +x linux-backup-web-db.sh

添加定时任务:crontab -e

0 23 * * * /root/backup.sh   #每天晚上23点执行备份脚本,进行备份

 

下载地址:linux-backup-web-db.sh

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: