FTP自动上传

这两天上司交待要把linux服务器上的日志下载下来,进服务器看了下日志文件,发现也不小,并且每天备份一次。心想,又一件麻烦的事情啊,后来想想了,何不直接使用shell脚本与cron调度来实现呢,这不就省了许多事情了,上网查了查方法,嘿嘿,发现ftp竟然也可以不用交互的方法,兴奋中。。。。把ftp命令加入shell脚本中,实现上传,再使用cron调度来执行,一切搞定!

主要难点是shell中使用ftp客户端将日志文件上传到服务器中,当然要先搭建一个ftp服务器,并且在cron调度时服务器要开启啊、要不然上传哪儿去。

Shell代码

#!/bin/bash

ftp -n 10.1.13.36 21 << CMDS

user admin admin //后面两个分别为用户名与密码,明文,不安全啊

lcd /var/log //切换到要上传的目录中,不要在put上直接写路径,这样是不行的

put messages

bye //离开ftp

TAG

再加上cron调度,这个自己写吧,一切就OK了,只需要每天查看ftp服务器就行了。

注:代码如果单独执行的话,可能会有一个警告,但是不影响上传,如果不想出现警告的话,只需要ftp -n 10.1.13.36 21 << CMDS 加上-u参数即可,即ftp –u -n10.1.13.36 21 << CMDS,但是,注意了,加上-u之后,使用调度的话,就可能不能执行哦,会提示没有-u参数的,所以,建议就不要使用-u参数了。