不同系统间的自动FTP程序,Crontab的写法,源码总结。

来源:互联网 发布:warframe防火墙udp端口 编辑:程序博客网 时间:2024/05/17 12:54

一个项目后的总结,写出来给自己一个总结,希望也能给别人一点点方便。
1。不同系统之间,自动传输文件的脚本。
2。Aix下执行java程序,sh脚本的写法,以及Crontab 的写法。

自动FTP 是一个比较实用的功能,在很多系统中需要,在自己的项目中用到了,摸索了一段时间,现在把在不同的系统中运行方式写出来,
给自己的一个总结。


1。从Aix 到另一台Aix ,FTP数据的程序范例:
 CertFTP.sh
 #Begin CertFTP.sh File.........................
 # Auto FTP For App2,App1 to Web1, ........
 # Use for The Custom Cert auto upload to Web Server and provide the Download for Bank .....
 # need be do every 30 Minus that can give the ..................
 export user=ftpusr1
 export pass=hahah
 export hostclient1=10.1.1.1
 export file02=/usr/WebSphere/AppServer/installedApps/CSJApplication.ear/BasicApp.war/shuiy/upload/02/
 export strDest02=/usr/HTTPServer/htdocs/cert/02/
 export strDest=/usr/HTTPServer/htdocs/cert/
 # Begin to Ftp from app2 to Web1 ...........
 ftp -n $hostclient1 < user $user $pass
 prompt off
 cd $strDest02
 lcd $file02
 binary
 mput *.*
 bye
 !EOF!
 cp /usr/WebSphere/AppServer/installedApps/CSJApplication.ear/BasicApp.war/shuiy/upload/02/*.* /usr/WebSphere/AppServer/installedApps/CSJApplication.ear/BasicApp.war/shuiy/upload/bak/02/
 rm /usr/WebSphere/AppServer/installedApps/CSJApplication.ear/BasicApp.war/shuiy/upload/02/*.*
 #end CertFTP.sh File.........................
 
 crontab -e
 添加一行数据,如下:
 33 * * * * . ~/.profile;cd /usr/WebSphere/AppServer/installedApps/CSJApplication.ear/BasicApp.war/shuiy/shfile;./CertFTP.sh
 每个小时的33分钟运行一次。

2。在windowns 上运行,定时从Aix上下载数据,然后将Aix上的数据删除的脚本:
   两个文件: ftpFromApp1.txt,AddToPlan.bat.

  1) ftpFromApp1.txt 的内容。
 # Begin  ftpFromApp1.txt file ..
 open 10.1.2.1
 ftpusr1
 xiajun04
 cd /usr/WebSphere/AppServer/installedApps/CSJApplication.ear/BasicApp.war/shuiy/zipfiles/
 lcd D:/Job/付款通知自动运行/zip
 binary
 prompt
 mget *.*
 mdelete *.*
 bye
 # end  ftpFromApp1.txt file ..

  2)AddToPlan.bat的文件内容。
        #Begin AddToPlan.bat File ...
 ftp -s:ftpFromApp1.txt
 #End AddToPlan.bat File ...

  然后将AddToPlan.bat 添加到 计划任务中,就可以定期将数据保存到windows 上的机器。

3.从windows 上定期将指定文件名称(开头是310开头的文件)发送到指定服务器上。
  两个文件,AddToPlan.bat,ftpupload.txt
  1) ftpupload.txt.
 # begin ftpupload.txt file ..
   open 78.20.32.40
   mqm
   sczjsczj
   cd /home/mqm/fj_user/Files
   lcd c:/nsrData
   prompt
   mput 310*.*
   bye
 # end ftpupload.txt file ..

  2) AddToPlan.bat 。
 # begin AddToPlan.bat 文件。
 ftp -s:ftpupload.txt
 cd c:/nsrData
 echo y |copy 310*.txt c:/nsrData/Bak
 echo y |del 310*.txt
 #end AddtoPlan.bat 文件。
   将AddToPlan.bat 放到计划任务中就可以了。



4.unix 上定时执行程序,需要将 java程序执行的路径写到 classpath 中。
  fjInser.sh
 #begin fjInsert.sh ..................
 . ~/.profile
 export CLASSPATH=/home/mqm/classes/j2ee.jar:$CLASSPATH
 export CLASSPATH=/home/mqm/subTrans:$CLASSPATH
 export PATH=/usr/java131/jre/bin:/usr/java131/bin:$PATH
 cd /home/mqm/subTrans
 java MQRecv
 #end fjInsert.sh................
00 20 * * * . ~/.profile;export CLASSPATH=/home/mqm/subTrans:$CLASSPATH;/home/mqm/subTrans/fjInsert.sh


5.crontab 的用法。
浏览 crontab -l
修改编辑 crontab -e
        然后 esc 和 i 键来回切换模式状态,i 为编辑,esc后为功能(x 删除,dd 删一行),:wq 保存退出,:q!不保存退出。就这样。
* * * * *   五个项目,  
minute, hour,mday,month,wday,command。它们差不多已经说明了各自的用处。
Minute 是命令要运行时的分钟,Hour 跟 minute 差不多,只是用小时来表示。Mday 是每个月的天。
Month 跟 hour 还有 minute 都差不多,用月份来表示。wday 字段表示星期几。所有这些字段的值必须是数字并且用24小时制来表示。
。这是最后的一个字段,所以自然就是它指定要运行的程序。

<完>

原创粉丝点击