`
zengshaotao
  • 浏览: 752577 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

shell备份本地文件到远程ftp服务器

 
阅读更多
  1. #!/bin/sh         
  2. #FileName:ftpput.sh      
  3. #Function:从本地客户端向ftp服务器上传一个文件        
  4. #Version:V0.1         
  5. #Author:Sunrier         
  6. #Date:2012-07-20   
  7.       
  8. #$#表示传递给此Shell脚本的参数个数   
  9. #-lt表示小于   
  10. #-eq表示等于   
  11. #-ne表示不等于   
  12. if [ $# -ne 2  ]   
  13. then  
  14.     echo "Usage $0  <local_dir/filename> <remote_dir>"   
  15.     exit 1  
  16. fi    
  17.   
  18. #IP表示ftp的服务器ip地址   
  19. #IP=127.0.0.1     
  20. IP=192.168.6.1  
  21.   
  22. #FULLNAME获取本地文件全路径名   
  23. FULLNAME=$1  
  24.   
  25. #DESTDIR获取需要上传的ftp远程目录路径   
  26. DESTDIR=$2  
  27.   
  28. #basename返回一个路径中的文件名部分   
  29. #如FULLNAME="/home/Sunrier/Proj/log/test.log";    
  30. #当local_filename=`basename $FULLNAME`   
  31. #最终local_filename="test.log"   
  32. local_filename=`basename $FULLNAME`  
  33.   
  34. #DESTFILE表示ftp服务器的路径,以及保存后的文件名   
  35. DESTFILE=$DESTDIR/$local_filename   
  36.   
  37. #-i表示在多个文件传输期间关闭交互提示   
  38. #-n表示禁止自动登录到初始连接   
  39. #<<FTPIT 和最后的 FTPIT:术语叫:当前文档here documents. here document 就是一段特殊目的的代码块,   
  40. #它使用I/O重定向的形式来将一个命令序列传递到一个交互程序或者命令中,比如ftp、cat,或者ex文本编辑器.   
  41. #本句可以理解从<<FTPIT开始以非对话模式的ftp连接,直到输入FTPIT为止的所有命令.   
  42. #当然FTPIT这个名字是可以随便取的,不一定必须是FTPIT,可以取其它的名字。   
  43. #ftp -i -n $IP <<FTPIT   
  44. ftp -i -n <<FTPIT  
  45.   
  46. #连接到指定ftp服务器上   
  47. open $IP  
  48. #连接到指定ftp服务器上,并指定端口   
  49. #open $IP $PORT   
  50.   
  51. #登陆ftp服务器上的用户名和密码   
  52. #user username password   
  53. user Sunrier redhat  
  54.   
  55. #bin表示以二进制方式传输   
  56. #bin等价于bi,binary等   
  57. #另一种方式传输是ascii,默认情况下,将文件传输类型设置为ASCII   
  58. bin  
  59.   
  60. #主动模式的FTP是指服务器主动连接客户端的数据端口,被动模式的FTP是指服务器被动地等待客户端连接自己的数据端口    
  61. #被动模式的FTP通常用在处于防火墙之后的FTP客户访问外界FTP服务器的情况.   
  62. #因为在这种情况下,防火墙通常配置为不允许外界访问防火墙之后主机,而只允许由防火墙之后的主机发起的连接请求通过.   
  63. #因此在这种情况下不能使用主动模式的FTP传输,而被动模式的FTP可以良好的工作.   
  64. #passive表示设置为被动模式的FTP   
  65. passive  
  66.   
  67. #cd表示更改ftp服务器上(即远程计算机)的工作目录   
  68. cd /home/remote/log/ftpfile  
  69.   
  70. #lcd表示更改本地计算机的工作目录   
  71. #lcd /home/Sunrier/Proj/log/   
  72.   
  73. #put local_file [ remote_file ]   
  74. #其中local_file是指定要复制的本地文件,remote_file是指定要复制的远程计算机上的文件名,   
  75. #remote_file为可选项,如果不指定的话是和本地计算机上的文件名同名.   
  76. #put表示把本地路径下的文件复制到FTP服务器(远程计算机)上设置的路径下的文件   
  77. put $FULLNAME $DESTFILE  
  78.   
  79. #quit表示结束与远程计算机的FTP会话,并退出FTP.   
  80. #还有个等价的命令为bye(或by)结束与远程计算机的FTP会话并退出FTP   
  81. quit  
  82.   
  83. #here document块结束   
  84. FTPIT  
  85.   
  86. #正式写这个Shell脚本时,here document中的#和空行都会执行,   
  87. #所以为了消除警告最好去掉here document块中#开头的语句以及空行,   
  88. #暂时我还没有找到here document中有效的注释语句的方法.   
  89.   
  90. exit 0
分享到:
评论

相关推荐

    简单的远程FTP定时备份Shell脚本分享

    因为工作需要,每天备份机房上的数据到本地,以前一直是FTP登录,然后下载到本地机器.现在则希望,利用本地的centos机器,自动备份到本地. 解决方法如下: 1.下载远程电信机房中机器上已打包好的数据.这个不难,一条语句...

    WinSCP (Windows Secure Copy) 免费开源的广泛用于与Unix和Linux服务器系统的文件交互

    是一个免费、开源的Windows应用程序,主要用于通过SFTP (SSH File Transfer Protocol)、SCP (Secure Copy Protocol)、FTP (File Transfer Protocol) 和WebDAV协议在本地计算机和远程计算机之间安全地传输文件。...

    cmd操作命令和linux命令大全收集

    ftp ip 端口 用于上传文件至服务器或进行文件操作,默认端口为21。bin指用二进制方式传送(可执行文件进);默认为ASCII格式传送(文本文件时) route print 显示出IP路由,将主要显示网络地址Network addres,子网...

    CuteFTP9简易汉化版

    一种上传软件将选中的文件和文件夹上传到远程FTP服务器上的一个归档文件,并将恢复您的数据档案,如果你的电脑出现故障。 远程Backup-CuteFTP允许您创建的远程副本文件和文件夹在您的本地计算机上定期或在预定的时间。...

    生产服务器部署规范.docx

    telnet 远程登陆协议的客户程序 Tlme 一个用来监视程序对系统资源的GNU工具 Tree 一 现实目录内容的树形试图的工具 Unix2dos Unix到dos文本文件格式转换器 Unzip Zip解压工具 Wget 一个http或ftp协议检索文件的工具 ...

    Ubuntu权威指南(2/2)

    2.4.7 连接到服务器 41 2.4.8 搜索文件 41 2.4.9 最近的文档 42 2.5 系统菜单 42 2.5.1 首选项 42 2.5.2 系统管理 45 2.5.3 锁住屏幕 51 2.5.4 注销 51 2.5.5 关机 51 2.6 使用移动存储设备 51 2.6.1 浏览移动存储...

    Ubuntu权威指南(1/2)

    2.4.7 连接到服务器 41 2.4.8 搜索文件 41 2.4.9 最近的文档 42 2.5 系统菜单 42 2.5.1 首选项 42 2.5.2 系统管理 45 2.5.3 锁住屏幕 51 2.5.4 注销 51 2.5.5 关机 51 2.6 使用移动存储设备 51 2.6.1 浏览移动存储...

    Linux指令一周通 (技术图书大系).azw3

    1.29 ftpshut指令:定时关闭ftp服务器 1.30 ftpwho指令:显示登录ftp用户信息 1.31 gunzip指令:解压缩文件 1.32 gzexe指令:压缩可执行文件 1.33 gzip指令:压缩文件 1.34 indent指令:调整C原始代码文件的格式 ...

    mysqlbackup:MySQL备份

    这是一个用于备份MySQL服务器的Shell脚本。 它可以与任意数量的服务器通信(远程或本地),并且具有一些功能可以过滤出特定的数据库和表名。 要求 要在本地备份数据库,您只需要bash和gzip,几乎所有Linux发行版都...

    LINUX操作系统(电子教案,参考答案)

    本章主要介绍了wu-ftp服务器的安装、配置和使用,Proftpd服务器的安装、配置和使用。 第18章:Web服务器。本章主要介绍了Apache的安装和配置。从Apache的最基本配置到它的高级运用,在本章中都有详细的叙述。 第19章...

    Linux的wget命令详解

    对于Linux用户是必不可少的工具,尤其对于网络管理员,经常要下载一些软件或从远程服务器恢复备份到本地服务器。如果我们使用虚拟主机,处理这样的事务我们只能先从远程服务器下载到我们电脑磁盘,然后再用ftp工具...

    X-Plore File Manager Pro 4.14.01.apk

    系统允许访问连接到LAN的计算机上的共享文件夹,如果它支持SMB协议,则甚至可以访问远程服务器。 X-plore可以访问各种Web存储“云”服务器,并访问其文件。 您需要在支持的Web服务中拥有帐户,然后您可以通过X-...

    X-Plore_File_Manager_Donate_v4.18.12.apk

    该系统允许访问连接到LAN的计算机上的共享文件夹,如果支持SMB协议,甚至可以访问远程服务器。 X-plore可以访问各种Web存储“云”服务器,并访问其文件。 您需要在受支持的Web服务中拥有帐户,然后才能通过X-...

    网吧维护技术资料 合集

    3250 网吧维护\网吧内网、局域网IP建ftp服务器教程.txt 8806 网吧维护\网吧双线捆绑接入的实现方法.txt 6954 网吧维护\网吧操作系统优化Win98篇.txt 16619 网吧维护\网吧管理与维护方案 .txt 3243 网吧维护\网线的...

    RED HAT LINUX 6大全

    8.2 FTP服务器的工作方式 137 8.3 配置FTP服务器 138 8.3.1 控制访问权—/etc/ftpaccess 文件 138 8.3.2 在传输时转换文件—/etc/ftpcon- versions文件 147 8.3.3 配置主机的访问权—/etc/ftphosts 文件 148 ...

    vc++ 开发实例源码包

    服务器可以将收集到的信息以柱状图和文件列表以及其他方式呈现给用户,以便用户对局域网内的主机进行监测和管理。 CClockST_demo 电子钟的实现,自绘Button、Static的实现,其中自定了一个辅助主题风格类。 ...

    Linux管理员指南

    权限 195 13.3.2 系统日志文件 203 13.3.3 即时文件转换 204 13.3.4 配置主机访问权限 205 13.4 套接字配置 205 13.4.1 匿名用户访问 205 13.4.2 注册用户访问和混合式访问 209 13.5 配置虚拟...

    vc++ 应用源码包_1

    服务器可以将收集到的信息以柱状图和文件列表以及其他方式呈现给用户,以便用户对局域网内的主机进行监测和管理。 CClockST_demo 电子钟的实现,自绘Button、Static的实现,其中自定了一个辅助主题风格类。 ...

    vc++ 应用源码包_2

    服务器可以将收集到的信息以柱状图和文件列表以及其他方式呈现给用户,以便用户对局域网内的主机进行监测和管理。 CClockST_demo 电子钟的实现,自绘Button、Static的实现,其中自定了一个辅助主题风格类。 ...

Global site tag (gtag.js) - Google Analytics