linux数据库自动备份脚本
对于我们个人站长来说,数据的重要不用再谈,而很多站长经常忘记备份数据,也有无良的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
㈡ 怎么linux下定时备份mysql数据库备份
shell脚本或者php定时任务
php服务重启后定时任务会取消
㈢ linux系统下mySQL数据库 备份方法和脚本
数据库备份
1.创建个备份存储目录
mkdir
/root/backup/
2.以下内容写到dbbackup.sh
#!/bin/bash
cd
/root/backup/
mysqlmp
-uroot
-pmima123
datatest
>/root/backup/datatest`date
+%Y-%m-%d`.sql
mysqlmp
-uroot
-pmima123
datatest1
>/root/backup/datatest1`date
+%Y-%m-%d`.sql
chmod
+x
dbbackup.sh
㈣ 请教linux定时执行数据库备份脚本的问题
Oracle自动备份数据库不外乎以下三种方式WINDOWS下的任务计划(At命令)
UNIX下的Crontab
第三方工具如Viritas
在以上三种方式中Viritas属于第三方工具,很多人可能都没有接触,主要说一下windows的任务计划与unix的cron
1、生成脚本文件,如backup.rcv 假定文件内容如下:
$>cat backup.rcv connect target sys/password rcvcat rman/rman@localname; run{ allocate channel c1 type disk; allocate channel c2 type disk; allocate channel c3 type disk; backup fileaperset 3 format ‘/u01/oradata/backup/arch%u_%s_%p’ archivelog all delete input; release channel c1; release channel c2; release channel c3; }
2、生成执行文件在windows上生成backup_archive.bat,内容包括rman cmdfile = backup.rcv 在unix下生成 backup_archive.sh,内容包括oracle/ramn/rman cmdfile = backup.rcv
3、加入调度在windows中用任务计划向导即可,或使用at命令。在unix中,在目标机器上编写一个文件,用以启动Oracle自动备份进程。假定文件名为ORACLE,文件将放在/var/spool/cron/crontabs目录下
$>cat oracle
0 23 * * 0 backup_archive.sh
#表示星期天23点对数据库备份
0 12,18 * * * backup_archive.sh
#表示每天12点,18点备份
Crontab文件的每一行由六个域(minutes,hours,day of month,month,day of week,command)组成,域之间用空格或Tab分隔开来
㈤ linux自动备份mysql数据库脚本
脚本最好写出来。否则怎么知道。
通过经验来看。你是用mysqlhot还是mysqlmp来备份的?
如果没有安装相应的工具,比如mysqlhot就要手动安装。。。
或者执行进验证的信息不对。都可能造成你说的现象,
你要单独运行一下脚本中导出mysql数据库的部分。
㈥ linux下如何自动备份mysql数据库
1.
写个自动备份的脚本autobackup.sh,内容如下
#!/bin/bash
mysqlmp
-p
databasename
>
mydata.sql
2.
更改其为可执行文件
chmod
+x
autobackup.sh
3.
通过crontab让系统自动运行这个脚本就好了,如crontab
-e
0
0
*
*
*
/路径到/autobackup.sh
第一个0表示分钟,第二个0表示0小时也就是零辰第三个*表示每天,第四个*表示每月,第五个*表示每周
㈦ linux自动备份脚本,谢谢给个详细操作。本人Linux不熟
使用crontab -e命令进入定时执行设置里面添加
* */8 * * * bash /usr/local/scripts/ERP_bak.sh
保存退出
然后创建脚本
touch /usr/local/scripts/ERP_bak.sh
chmod +x /usr/local/scripts/ERP_bak.sh
vi /usr/local/scripts/ERP_bak.sh
编辑脚本输入以下内容
#!/bin/bash
tar zcvf ERP_bak-`date +%Y-%m-%d`.tgz /var/backup/
保存退出
每天8点就会在/usr/local/scripts/下生成一个归档文件比如今天是ERP_bak-2015-1-23.tgz
如果要恢复数据的话就进入 /usr/local/scripts/ 目录找到要恢复的tgz文件用 tar zxvf 解压就可以了
㈧ 菜鸟求助:linux下oracle数据库自动备份脚本,脚本可实现数据库自动备份功能,并删除三天前的备份
这个好办。 cp 你的数据库`date +'%y%m%d'` 指定目录 这个是以年月日来命名备份 删除的命令是
rm -f 你的数据库名字`date -d "3 days ago" +'%y%m%d'` 这个是删除匹配你数据库的备份名日期前3天的备份文件 他会按照日期-3天匹配3天前的日期来删除备份的