FTP自动双机备份

更新时间:2023-08-12 08:50:01 阅读量: 外语学习 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

FTP自动双机备份

一. 备份的总要性

世界上没有绝对安全的系统。如果想获得绝对安全的系统,只有不连接网络,不让管理员之外的人使用,刷卡管制人员进出,使用监视器监视录像,甚至于不 要开机。但是这是完全不切实际的,我们仅能寄望尽量让系统能在承担低风险的情况下工作,因为任何操作系统都不可能毫无漏洞。那么怎样才能让系统承担最低的 风险呢?回答因该是在保障系统尽量安全的基础上,做好各个系统上的数据备份工作。一旦系统遭受到毁灭性的打击,可将平时做好的备份数据及时恢复,这样才能 使被破坏的系统迅速恢复正常,以避免不必要的损失。

可以说,从计算机系统出世的那天起,就有了备份这个概念,计算机以其强大的速度处理能力,取代了很多人为的工作,但是,往往很多时候,它又是那么弱不禁风,主板上的芯片、主板电路、内存、电源等任何一项不能正常工作,都会导致计算机系统不能正常工作。当然,这些损坏可以修复,不会导致应用和数据的损坏。但是,如果计算机的硬盘损坏,将会导致数据丢失,此时必须用备份恢复数据。

Linux作为新一代网络操作系统,在服务器方面的应用越来越广泛。作为专门的网络服务器,一个重要功能就是对服务器数据进行备份,以确保数据的安全。本文将介绍在Linux系统下一些常用的数据备份方法。

二. 备份的几种方式

1、本机上数据的手工备份

Linux系统上配有功能强大的tar命令,可以灵活地备份数据。tar最初是为了制作磁带备份而设计的把文件和目录备份到磁带中,然后从磁带中提取或恢复文件。当然,现在我们可以使用tar来备份数据到任何存储介质上。tar非常易于使用稳定可靠,而且在任何 Linux系统上都有这个命令。因此是最经常使用的备份工具。

(1)使用tar命令备份数据的格式如下:

$ tar cvf backup.tar /home/html

上述命令是将/home/html 目录下的所有文件打包成tar文件backup.tar。 cvf是tar的命令参数。

FTP自动双机备份

c代表创建一个档案文件,

v代表显示每个备份的文件名字,

f表示tar创建的档案文件名是后面的backup.tar,

/home/html 代表tar要备份的文件或和目录名。

(2)使用tar命令恢复数据的格式如下:

$ tar xvf backup.tar

上述命令将备份文件backup.tar恢复到当前目录下。

通常情况下,tar对文件进行备份的时候并不对文件进行压缩,因此备份文件的尺寸非常大。使用如下的命令,将使tar在备份结束以后,自动使用gzip命令对备份文件进行压缩,得到一个相应的gz文件。

$ tar zcvf backup.tar.gz /home/html

这样,我们可以得到压缩文件backup.tar.gz。

backup.tar.gz是压缩的备份文件。

2、本机数据的自动备份

使用上述命令,我们可以手工备份数据,但是每天定时做这些操作可能比较繁琐。当然,Linux为我们提供了强大的工具来进行自动备份。这就是cron。

cron是一个后台进程,一旦启动,将根据自己的配置文件定时地执行任务。我们可以编写一个shell脚本文件来进行文件备份,然后让cron定时地启动这个脚本文件来对数据进行备份。

例如,我们每天备份/home/html目录下的所有的文件到

/home/admin/backup/backup_xxxx目录下,xxxx代表备份的日期。这个工作,可以编写一个如下的shell脚本backup.sh来进行:

#!/bin/sh

FTP自动双机备份

cd /home/admin/backup

year=`date +%Y`

month=`date +%m`

day=`date +%d`

now=$year-$month-$day

mkdir backup_$now

tar zcvf backup_$now/backup.tar.gz /home/html

这个脚本在备份数据的时候,自动读取系统日期,然后以系统当前的日期建立一个新的目录,将备份的数据打包压缩放在这个目录中。我们可以在系统中通过执行:$sh backup.sh ,完成备份工作。如果键入:$chmod +x backup.sh ,可以将backup.sh设置为可运行。这样,我们就可以直接通过键入$./backup.sh来运行备份脚本文件了。一般情况下,我们希望在系统负载不是最大的时候来进行数据备份。通常,我们可以选择每天的凌晨3:00来进行数据备份(这段时间,你的服务器访问的人数应该最少吧?)。把一切工作交给 cron吧。 cron启动以后,它检查/var/spool/cron/目录中的配置文件来找到所要执行的任务和执行任务的时间,依据这些设定在规定的时间执行规定的任务。

针对武昌党校的FTP自动双机备份如下

*********************

功能:

下载服务器ftp目录中的所有文件,

下载完后立即删除服务器ftp目录中的所有文件

*********************

---------------------

环境:

俩台机器都是centos5.5_x86

FTP自动双机备份

****************

1.ftp服务器主机信息

ftp服务器主机名server

vftp服务端:vsftp-2.0.1-5.EL4.5

vftp服务器ftp目录默认是系统用户所在目录

这里的用户为ftptest,家目录为/home/ftptest

IP:192.168.1.2

ftp目录:/home/ftptest

ftp用户:ftptest

ftptest用户密码:123456

****************

2.ftp客户端主机信息

ftp服务器主机名client

ftp客户端:lftp-3.0.6-3

IP:192.168.1.153

存放目录:/home/xiutuo/ftp

即从服务器下载的文件存放到/home/xiutuo/ftp

****************

3.脚本名:lftp_bak.sh

存放在client中的/etc/目录下

该脚本属xiutuo及其属组xiutuo

# cd /etc/

# chown xiutuo:xiutuo lftp_bak.sh

你可以根据自己需要设置计划任务

让该脚本自动在某时执行

****************

---------------------

++++++++++++++++++++++++++++++++++++++++

在client主机上

# vi /etc/lftp_bak.sh

#!/bin/bash

FTP自动双机备份

#Funciont: Backup website and mysql database

#Author: licess

#Website:

#IMPORTANT!!!Please Setting the following Values!

######~Set Directory you want to backup~######

Backup_Dir1=tomcat6

######~Set MySQL UserName and password~######

MYSQL_UserName=root

MYSQL_PassWord=root

######~Set MySQL Database you want to backup~######

Backup_Database_Name1= partyschool

######~Set FTP Information~######

FTP_HostName=192.168.0.215

FTP_UserName=srsman

FTP_PassWord=111

FTP自动双机备份

FTP_BackupDir=/opt/srsman/

#Values Setting END!

TodayWWWBackup=www-*-$(date +"%Y%m%d").tar.gz

TodayDBBackup=db-*-$(date +"%Y%m%d").sql

OldWWWBackup=www-*-$(date -d -3day +"%Y%m%d").tar.gz

OldDBBackup=db-*-$(date -d -3day +"%Y%m%d").sql

tar -zcvf /home/backup/www-tomcat6-$(date +"%Y%m%d").tar.gz

/usr/local/tomcat6/webapps

mysqldump -u$MYSQL_UserName -p$MYSQL_PassWord

$Backup_Database_Name1 > /home/backup/db-$Backup_Database_Name1-$(date +"%Y%m%d").sql

mysqldump -u$MYSQL_UserName -p$MYSQL_PassWord

$Backup_Database_Name2 > /home/backup/db-$Backup_Database_Name2-$(date +"%Y%m%d").sql

cd /home/backup/

FTP自动双机备份

lftp $FTP_HostName -u $FTP_UserName,$FTP_PassWord << EOF cd $FTP_BackupDir

mrm www-tomcat6-$(date +"%Y%m%d").tar.gz

mrm db-$Backup_Database_Name1-$(date +"%Y%m%d").sql mput www-tomcat6-$(date +"%Y%m%d").tar.gz

mput db-$Backup_Database_Name1-$(date +"%Y%m%d").sql

rm -f /home/backup/www-tomcat6-$(date +"%Y%m%d").tar.gz rm -f /home/backup/db-partyschool -$(date +"%Y%m%d").sql find /home/backup/ -mtime +3 -exec rm -R {} \;

bye

EOF

本文来源:https://www.bwwdw.com/article/bimj.html

Top