日期:2011-02-23 18:06:00  来源:本站整理

<b>Linux本地和异地自动备份筹划</b>[服务器安全]

赞助商链接



  本文“<b>Linux本地和异地自动备份筹划</b>[服务器安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

成立脚本/root/script/backup.sh
# 该脚本利用于10多台普通的Linux利用服务器,多年来从未出过不对.
# 数据库备份较为特别,这里不包含数据库备份.
# 因为脚本中含有FTP密码,所以FTP仅赐与写权限较为安全,FTP中的老备份的按期删除任务由FTP服务器完成.
# 备份加入到自动任务中,每周六23:00履行,并写入日记,以下:
# 追加下面语句到/etc/crontab中


# 0 23 * * 6 root /root/script/backup.sh >> /root/script/backup.log 2>&1
#有注释版:
#!/bin/bash
#=====================================================
#author zhaoyn
#date 2010/12/31
#=====================================================
#参数设定
basedir=/opt/backup #备份存放的目录
days=15 #备份在本地保存天数
bakfiles="/root/script /etc" #需求备份的目录或文件,请不要利用快速方法或通配符
ftpip=XXX.XXX.XXX.XXX #异地备份的FTP地址
ftpuser='username' #异地备份的FTP用户名
ftppw='password' #异地备份的FTP密码
echo =====================================================
date
cd $basedir
#删除备份目录中15天从前备份文件,不包含子目录
find -maxdepth 1 -name "*.tgz" -mtime +"$days" -exec rm -f {} \;
for bakfile in $bakfiles
do
file=`basename $bakfile`
#紧缩打包需求备份的目录,包含权限,文件命名包含当前时间
tar -czpf "$file"_$(date +%Y%m%d-%H%M).tgz $bakfile
#大文件打包前后,减缓磁盘压力,降低I/O错误概率
sleep 10s ;sync;sync
done
#通过FTP上传当天备份的文件到异地
ftp -v -n -i $ftpip <<END
user $ftpuser $ftppw
bin
mput *$(date +%Y%m%d)*.tgz
bye
END

#无注释版:
#!/bin/bash
#=====================================================
#author zhaoyn
#date 2010/12/31
#=====================================================
basedir=/opt/backup
days=15
bakfiles="/root/script /etc"
ftpip=XXX.XXX.XXX.XXX
ftpuser='username'
ftppw='password'
echo =====================================================
date
cd $basedir
find -maxdepth 1 -name "*.tgz" -mtime +"$days" -exec rm -f {} \;
for bakfile in $bakfiles
do
file=`basename $bakfile`
tar -czpf "$file"_$(date +%Y%m%d-%H%M).tgz $bakfile
sleep 10s ;sync;sync
done
ftp -v -n -i $ftpip <<END
user $ftpuser $ftppw
bin
mput *$(date +%Y%m%d)*.tgz
bye
END


Mysql的备份,假如清晨可以终止几分钟,那么激烈倡议对Mysql履行物理备份,脚本以下
#!/bin/bash
#History
#=====================================================
#When Who What
#2010/3/24 Zhaoyn Create
#
#=====================================================


basedir=/opt/backup
updir=$basedir/updir
timenow=$(date +%Y%m%d-%H%M)

# 删除mysql十四天前的数据,注意,这里仅删除了mysql的tgz文件.
rm -f `find $basedir -name "mysql*.tgz" -mtime +14`

# 由于数据库在有衔接的情形下,直接对数据文件打包是大概出问题的,所以这里我们在打包前要停用数据库,这样直接对数据文件打包,恢复时只需解压数据文件到新环境呼应的目录便可,默许是/var/lib/mysql
# 假如白日也要举行数据库备份,请利用mysqldump号令,举行在线备份.恢复也挺便利的.
/etc/rc.d/init.d/mysqld stop
sleep 5s ;sync;sync
tar -czpf $basedir/mysql.$timenow.tgz /var/lib/mysql
/etc/rc.d/init.d/mysqld start
#=====================================================
附件中的脚本文件是有DOS换行符(CR/LF)的,复制文件中的内容到SSH客户端没有问题,假如直接拷贝文件到Linux系统中,可先运行下面的号令:
mv *.txt *sh
dos2unix *.sh   以上是“<b>Linux本地和异地自动备份筹划</b>[服务器安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .