发布时间: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脚本完成
2012-07-10
CentOS 6.3安装(详细图解教程)
Linux怎么查看网卡驱动?Linux下查看网卡的驱动程序
centos修改主机名命令
Ubuntu或UbuntuKyKin14.04Unity桌面风格与Gnome桌面风格的切换
FEDORA 17中设置TIGERVNC远程访问
StartOS 5.0相关介绍,新型的Linux系统!
解决vSphere Client登录linux版vCenter失败
LINUX最新提权 Exploits Linux Kernel <= 2.6.37
nginx在网站中的7层转发功能