当前位置: > Linux教程 >

linux文件备份计划

时间:2014-07-11 09:47来源:未知 作者:admin

 笔者主要负责维护虚拟主机服务器,维护过程中不免会遇到系统宕机无法启动的问题,如果真的修复不了只能把数据转移到新的环境中,但问题来了如何转移?转移那些文件?数据采用Bacula备份转移很简单,另外还原系统用户、FTP配置文件、HTTPD配置文件也是快速恢复业务中至关重要的一项,下面我们就来看如何备份这些重要文件。
      最安全的备份方式莫过于异地备份了,所以我们提到的这些配置文件除了本地备份外还会通过Bacula再备份一次。
      时间同步与文件备份设置流程
1、新建备份脚本;
# vi /root/backup.sh
#!/bin/sh
#Backup System Configuration files
\cp -rf /etc/passwd /etc/passwd- /usr/prima/etc/muddleftpd/ftppasswd /usr/local/ apache2/conf/extra/httpd-vhosts.conf /www/users/vhost/tmp/
cd /www/users/vhost/tmp/
zip -r backup_$(date -d “today” +%Y%m%d_%H%M%S).zip /www/users/vhost/tmp/
cp backup_* /www/users/vhost/
rm -rf /www/users/vhost/tmp/*
find /www/users/vhost/ -type f -mtime +15 -exec rm {} \;

2、安装NTP
# yum install -y ntp
编译安装:http://www.woiit.net/archives/174

3、crontab添加计划
# crontab -e
0 15 * * * /bin/bash /root/backup.sh > /dev/null
1 */2 * * * /usr/sbin/ntpdate 210.72.145.44 > /dev/null

4、确认开启crond服务;
# chkconfig crond on
# service crond restart

参考资料:
1、这里再发布一个高手写的备份脚本,值得参摹;
#!/bin/bash
#
#This script is for backup vhost-config file.

VHOSTCONF=/usr/local/apache2/conf/extra/httpd-vhosts.conf
FILE1=/etc/passwd
FILE2=/etc/passwd-
FILE3=/usr/prima/etc/muddleftpd/ftppasswd
FILE4=/usr/local/apache2/conf/extra/spare-httpd-vhosts.conf

BACKUPDIR=/www/users/vhost
FIND=`which find`
if [ ! -d /www/users/vhost ];then
  mkdir -p /www/users/vhost > /dev/null
  /bin/chmod -R 600 /www/users/vhost
fi

/bin/cp $VHOSTCONF $BACKUPDIR/httpd-vhosts.conf-`/bin/date +%F`.bak > /dev/null && echo “`/bin/date` backup successful” > /dev/null || echo “`/bin/date` backup failed” >> /root/backconf.log
/bin/cp $FILE1 $BACKUPDIR/passwd_`/bin/date +%F`.bak > /dev/null && echo “`/bin/date` backup passwd successfull” > /dev/null || echo “`/bin/date` backup passwd failed” >> /root/backconf.log
/bin/cp $FILE2 $BACKUPDIR/passwd-_`/bin/date +%F`.bak > /dev/null && echo “`/bin/date` backup passwd- successfull” > /dev/null || echo “`/bin/date` backup passwd- failed” >> /root/backconf.log
/bin/cp $FILE3 $BACKUPDIR/ftppasswd_`/bin/date +%F`.bak > /dev/null && echo “`/bin/date` backup ftppasswd successfull” > /dev/null || echo “`/bin/date` backup ftppasswd failed” >> /root/backconf.log
/bin/cp $FILE4 $BACKUPDIR/spare-httpd-vhosts.conf-`/bin/date +%F`.bak > /dev/null && echo “`/bin/date` backup successfull” > /dev/null || echo “`/bin/date` backup failed” >> /root/backconf.log

/bin/chmod -R 600 $BACKUPDIR
$FIND $BACKUPDIR -mtime +15 -type f -exec rm -f {} \; > /dev/null
$FIND /var/weblog/ -mtime +15 -type f -exec rm -f {} \; > /dev/null

2、问编辑crontab文件后要不要重启crontab,如何重启?
编辑完crontab文件立即生效无需重启任何进程,真想重启可用命令:service crond restart
crontab的几种常见用法:
1、编辑一个文本文件,写上任务列表,然后运行crontab 文件名
2、crontab -e,就可直接在vi界面中编辑任务列表
3、crontab -l,查看本用户任务列表
4、crontab -r,删除本用户任务列表

3、这里列举几个时间服务器,仅供参考;
     210.72.145.44
     ntp.fudan.edu.cn
     time.scau.edu.cn
     time.windows.com

同步教程:http://time.scau.edu.cn/

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容