说明: 

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

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

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

系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容©版权所有,转载请注明出处及原文链接

实现步骤:

1、安装ftp命令

apt-get install ftp   #安装ftp

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

cd /home  #进入目录

mkdir osyunweibak  #创建目录

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

cd /home/osyunweibak

touch osyunweibak.sh  #创建文件

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

#!/bin/sh

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

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

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

LINUX_USER=root           #系统用户名

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

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

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

find $BK_DR -name "osyunwei*" -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 osyunwei 123456  #用户名、密码

binary  #设置二进制传输

cd osyunweibak  #进入ftp目录

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

prompt

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

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

close

bye !

ctrl+o   #保存配置

ctrl+x   #退出

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

系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容©版权所有,转载请注明出处及原文链接

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

5、修改/etc/crontab

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

5 2 * * * root /home/osyunweibak/osyunweibak.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/osyunweibak目录下面可以看到类似osyunwei20120701.tar.gz这样的压缩文件

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

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

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

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

  1. CentOS Linux自动备份MySQL数据库到远程FTP服务器并删除指定日期前的备份Shell脚本

    说明: 我这里要把MySQL数据库存放目录/var/lib/mysql下面的pw85数据库备份到/home/mysql_data里面,并且保存为mysqldata_bak_2011_11_03.tar ...

  2. Linux下自动备份MySQL数据库并上传到远程FTP服务器

    Linux下自动备份MySQL数据库并上传到远程FTP服务器且删除指定日期前的备份Shell脚本 说明:  1.备份MySQL数据库存放目录/var/lib/mysql下面的xshelldata数据库 ...

  3. linux自动备份文件 并上传到远程服务器 脚本实现

    (1)在服务器上创建备份目录,并赋予权限       mkdir -p /backup/bakdata  #新建数据备份目录(2)完成备份脚本操作新建脚本文件      vi bakdata.sh添加 ...

  4. 静态资源上传至远程ftp服务器,ftp工具类封装

    工具类,是一个单独的工程项目 提取必要信息至ftp.properties配置文件中 ftp_host=192.168.110.128 ftp_port=21 ftp_username=ftpuser ...

  5. Linux下通过脚本自动备份Oracle数据库并删除指定天数前的备份

    说明: Oracle数据库服务器操作系统:CentOSIP:192.168.0.198端口:1521SID:orclOracle数据库版本:Oracle11gR2 具体操作: 1.root用户登录服务 ...

  6. Linux下自动备份Oracle数据库并删除指定天数前的备份

    说明: Oracle数据库服务器 操作系统:CentOS IP:192.168.0.198 端口:1521 SID:orcl Oracle数据库版本:Oracle11gR2 具体操作: 1.root用 ...

  7. .Net 上传文件到ftp服务器和下载文件

    突然发现又很久没有写博客了,想起哎呦,还是写一篇博客记录一下吧,虽然自己还是那个渣渣猿. 最近在做上传文件的功能,上传到ftp文件服务器有利于管理上传文件. 前面的博客有写到layui如何上传文件,然 ...

  8. java 上传文件到 ftp 服务器

    1.  java 上传文件到 ftp 服务器 package com.taotao.common.utils; import java.io.File; import java.io.FileInpu ...

  9. Mongodb自动备份数据库并删除指定天数前的备份

    1.创建Mongodb数据库备份目录 mkdir -p /home/backup/mongod_bak/mongod_bak_now mkdir -p /home/backup/mongod_bak/ ...

随机推荐

  1. Win32应用程序的基本结构

    0 引言 Win32 API是用于创建 Windows 应用程序的应用程序编程接口.通常情况下,一个Win32应用包含一下几个部分: 1)    应用程序入口: 2)    注册窗口类: 3)    ...

  2. c语言中的#ifndef、#def、#endif等宏是什么意思

    #ifndef.(或者#ifndef).#def.#endif等宏这几个宏是为了进行条件编译.一般情况下,源程序中所有的行都参加编译.但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一 ...

  3. centos安装中文支持(转)

    安装中文支持包. yum install fonts-chineseyum install fonts-ISO8859-2 -------- 一.安装中文支持方法1.在安装光盘中找到一下包进行安装.r ...

  4. 区分IE9/IE8/IE7/IE6及其他浏览器-CSS hack

    记录一下这些浏览器的hack如下: 一.IE9以及以下版本浏览器 对于IE8及其以下版本的浏览器,就是使用本文标题所提到的”\9″ hack.如下代码: .ie8_9{ color:blue; /*所 ...

  5. Orchard 源码探索(Application_Start)之异步委托调用

    2014年5月26日 10:26:31 晴 ASP.NET 接收到对应用程序中任何资源的第一个请求时,名为ApplicationManager 的类会创建一个应用程序域.应用程序域为全局变量提供应用程 ...

  6. IE WebDriver 因保护模式无法启动的解决 (转载)

    现在Win7 已经应用很多了,即使是最原始的Win7 也是IE8,最新的patch后,都升到了IE11 Win7下预装高版本IE的情况下,启动IE WebDriver可能会出现: org.openqa ...

  7. 部署vc2008开发的程序(三种办法,但是我觉得这种办法最不好)

    如果你编译了一个VC2008的默认的CRT/MFC的应用程序,如果目标部署电脑上没有安装相应的VC2008的动态库,当运行你的程序的时 个,会出现如下错误信息.   这是因为程序使用了基于VC2008 ...

  8. delphi程序设计之底层原理

    虽然用delphi也有7,8年了,但大部分时间还是用在系统的架构上,对delphi底层还是一知半解,今天在网上看到一篇文章写得很好,虽然是07年的,但仍有借鉴的价值. 现摘录如下: Delphi程序设 ...

  9. (11)Xamarin.iOS - 新增iPhone storyboard

    原文 Xamarin.iOS - 新增iPhone storyboard 1. 开启Xamarin Studio 并建立新项目 专案类型为 iOS=>iPhone Storyboard => ...

  10. 一个Windows C++的线程类实现

    Thread.h [cpp] view plaincopy #ifndef __THREAD_H__ #define __THREAD_H__ #include <string> #inc ...