linux自动备份网站及自动上传FTP脚本的方法

发布网友 发布时间:2022-04-23 00:59

我来回答

2个回答

懂视网 时间:2022-05-01 21:16

1.添加backupmysqleveryday.sh(vi /data/shell/backupmysqleveryday.sh)
#!/bin/sh
#this shell is user for backup mysql data everyday
#author:www.ieliwb.com
#path-config
base_mysql_path=/data/webserver/mysql/
mysql_dump_path=/data/mysqlbackup/
mnt_back_path=/mnt/web/mysqlbackup/
ftp_back_path=mysql_data_backup/
#mysql-config
mysql_user=”root”
mysql_pass=”*******”
#ftp-config
ftp_host=”ip”
ftp_user=”********”
ftp_pass=”********”
backup_name=`date +%Y%m%d%H%M%S`
cd ${mysql_dump_path}
#mysqldump
${base_mysql_path}bin/mysqldump -u${mysql_user} -p${mysql_pass} -all-database > ${backup_name}.sql
#pack
tar zcf ${backup_name}.tar.gz ${backup_name}.sql
rm -f ${backup_name}.sql
#backup to mnt
cp ${backup_name}.tar.gz ${mnt_back_path}${backup_name}.tar.gz
#ftp to other host
ftp -n<
open ${ftp_host}
user ${ftp_user} ${ftp_pass}
bin
prompt off
cd ${ftp_back_path}
passive
put ${backup_name}.tar.gz
close
bye
!

2.添加定时计划(vi /etc/crontab)
01 0 * * * root /data/shell/backupmysqleveryday.sh
每天0:01点执行

Linux下mysql定时自动备份并FTP到远程脚本

标签:this   www   ase   shel   path   shell   .com   off   mysqld   

热心网友 时间:2022-05-01 18:24

对于我们个人站长来说,数据的重要不用再谈,而很多站长经常忘记备份数据,也有无良的JS跑路,硬盘损坏,数据丢了,其中DS就丢失过好几次数据,如果没有备份,肯定悲剧,本文介绍一种自动备份数据的方法!
本脚本特色:
1.纯zip压缩,1-9可自行调整压缩率
2.整台VPS备份,还原方便,非常适合站群
3.加入压缩密码,可以自己设置
4.加入绑米信息伪静态压缩,防止伪静态弄丢
5.请确保在home目录下有backup目录,如果没有请执行
mkdir
/home/backup
6.还原数据库请参考:导入数据库方法
最后更新时间:2012年8月25日
centos安装zip
yum
install
zip
debian安装zip
apt-get
install
zip
下载编辑
wget
-c
http://www.***.com/soft/beifen.sh
vi
beifen.sh
只编辑注解为需要修改的地方
【脚本开始】
#!/bin/bash
#下面的参数是你要修改的
MYSQL_USER=root
#mysql用户名
MYSQL_PASS=mysql密码
#mysql密码
FTP_USER=FTP用户名
#ftp用户名
FTP_PASS=FTP密码
#ftp密码
FTP_IP=FTP地址
#ftp地址
FTP_backup=FTP目录
#ftp上存放备份文件的目录,这个要自己得ftp上面建的
WEB_DATA=/home/wwwroot/
#要备份的网站数据
WEB_BANGMI=/usr/local/nginx/conf/
#要备份的绑米信息
WEB_MULU=/home/backup
#备份文件存放目录
WEB_MIMA=zhujima
#备份时候的密码
WEB_YASUOLV=1
#压缩率
1-9
如果VPS没有zip,请安装zip
#上面是你要修改的地方

#删除淘宝客缓存,属于自定义设置。可自行操作
#rm
-rf
/home/wwwroot/1.com/Apicache/*

#定义数据库的名字和旧数据库的名字
DataBakName=Data_$(date
+"%Y%m%d").zip
#定义数据库名字
WebBakName=Web_$(date
+%Y%m%d).zip
#定义备份网站名字
BANGMI=BANGMI_$(date
+%Y%m%d).zip
#定义绑米备份名字

OldData=Data_$(date
-d
-5day
+"%Y%m%d").zip
#定义5天前数据库名字
OldWeb=Web_$(date
-d
-5day
+"%Y%m%d").zip
#定义5天前网站名字
BANGMIshan=BANGMI_$(date
-d
-5day
+"%Y%m%d").zip
#定义5天前绑米名字

#删除本地3天前的数据
rm
-rf
$WEB_MULU/Data_$(date
-d
-3day
+"%Y%m%d").zip
$WEB_MULU/Web_$(date
-d
-3day
+"%Y%m%d").zip
$WEB_MULU/BANGMI_$(date
-d
-3day
+"%Y%m%d").zip

#导出全部数据库
cd
$WEB_MULU
/usr/local/mysql/bin/mysqlmp
-u$MYSQL_USER
-p$MYSQL_PASS
--all-databases
>
$(date
+"%Y%m%d").sql

#压缩数据库文件为一个文件
zip
-r
-$WEB_YASUOLV
-P
$WEB_MIMA
$DataBakName
$WEB_MULU/*.sql
rm
-rf
$WEB_MULU/*.sql

#压缩网站数据
cd
$WEB_DATA
zip
-r
-$WEB_YASUOLV
-P
$WEB_MIMA
$WebBakName
./*
mv
$WebBakName
$WEB_MULU/$WebBakName
cd
$WEB_MULU

#压缩绑米信息
cd
$WEB_BANGMI
#进入绑米目录
zip
-r
-$WEB_YASUOLV
-P
$WEB_MIMA
$BANGMI
./*
mv
$BANGMI
$WEB_MULU/$BANGMI

#上传到FTP空间,删除FTP空间5天前的数据
cd
$WEB_MULU
#进入备份目录
ftp
-v
-n
$FTP_IP
<<
END
user
$FTP_USER
$FTP_PASS
type
binary
cd
$FTP_backup
delete
$BANGMIshan
delete
$OldData
delete
$OldWeb
put
$DataBakName
put
$WebBakName
put
$BANGMI
bye
END
加入权限,写入定时执行
chmod
777
/root/beifen.sh
crontab
-e
30
21
*
*
*
/root/beifen.sh
注:每天21:30开始备份并且上传FTP
本文地址:http://www.zhujima.com/139.html

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com