知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

Debian下自动备份文件并上传到远程FTP服务器且删除指定日期前的备份Shell脚本

发布时间:2014-11-11 11:45:14作者:知识屋

说明: 

1、备份目录/home/wwwroot下面所有的文件到/home/wwwrootbak里面,并且保存为wwwroot20120701.tar.gz的压缩文件格式(2012_07_01是指备份执行时当天的日期),最后只保留最近7天的备份

2、上传/home/wwwrootbak里面的备份文件到远程FTP服务器上,并且只保留最近7天的备份。

3、FTP服务器:192.168.21.139 端口:21 账号:admin 密码:123456 wwwrootbak为备份文件存放目录(此目录需要预先在FTP服务器创建好)

实现步骤:

1、安装ftp命令

apt-get install ftp   #安装ftp

2、创建保存备份文件的目录:/home/wwwrootbak

cd /home  #进入目录

mkdir wwwrootbak  #创建目录

3、创建备份脚本文件:/home/wwwrootbak/wwwrootbak.sh

cd /home/wwwrootbak

touch wwwrootbak.sh  #创建文件

nano wwwrootbak.sh  #编辑文件,添加以下内容

#!/bin/sh

BK_DR=/home/wwwrootbak    #备份文件存放路径

DB_DR=/home/wwwroot   #要备份的文件目录

DAYS=7                    #DAYS=7代表删除7天前的备份,即只保留最近7天的备份

LINUX_USER=root           #系统用户名

date=` date +%Y%m%d `  #获取当前时间

tar  zcvf  $BK_DR/wwwroot$date.tar.gz  $DB_DR   #备份

chown -R $LINUX_USER:$LINUX_USER $BK_DR  #更改备份数据库文件的所有者

find $BK_DR -name "wwwroot*" -type f -mtime +$DAYS -exec rm {} ;  #删除7天前的备份文件(注意:{} ;中间有空格)

deldate=` date -d -7day +%Y%m%d `   #删除ftp服务器空间7天前的备份

ftp -n<<!

open 192.168.1.1  21 #打开ftp服务器,21为ftp端口

user admin 123456  #用户名、密码

binary  #设置二进制传输

cd wwwrootbak  #进入ftp目录

lcd /home/wwwrootbak  #列出本地目录

prompt

mput wwwroot$date.tar.gz   wwwroot$date.tar.gz   #上传目录中的文件

mdelete wwwroot$deldate.tar.gz  wwwroot$deldate.tar.gz  #删除ftp空间7天前的备份

close

bye !

ctrl+o   #保存配置

ctrl+x   #退出

4、修改文件属性,使其可执行

chmod +x /home/wwwrootbak/wwwrootbak.sh  #添加文件执行权限

5、修改/etc/crontab

nano /etc/crontab   #编辑文件,在下面添加以下内容

5 2 * * * root /home/wwwrootbak/wwwrootbak.sh  #表示每天凌晨2点5分执行备份

6、重新启动crond使设置生效

service cron stop  #停止

service cron start #启动

/etc/init.d/cron restart #重启

chkconfig cron on #设为开机启动  先要安装chkconfig(apt-get install chkconfig  

在/home/wwwrootbak目录下面可以看到类似wwwroot20120701.tar.gz这样的压缩文件

如果需要恢复文件的时候,只需要把这个文件解压即可

解压缩命令tar -zxvf  wwwroot20120701.tar.gz

至此,Debian下自动备份文件并上传到远程FTP服务器且删除指定日期前的备份Shell脚本完成

(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜