当前位置: 技术问答>linux和unix
求一个定时FTP文件的shell脚本
来源: 互联网 发布时间:2016-06-26
本文导语: 现在要在linux机器上定时ftp文件到另一台机器上,但文件名要改,比如***2009-08-20.***,在ftp前要改成*****090820.***,其中***是未知的,主要把那个时间取出来。然后ftp到其它主机上,谁能给个脚本,谢谢! ...
现在要在linux机器上定时ftp文件到另一台机器上,但文件名要改,比如***2009-08-20.***,在ftp前要改成*****090820.***,其中***是未知的,主要把那个时间取出来。然后ftp到其它主机上,谁能给个脚本,谢谢!
|
基本shell代码框架如下:
然后把这个shell脚本变成一个crontab文件,通过传递一个文件过去,让它定时执行。
如果要批量修改文件,可参考我博客上文章“Linux中实现一个目录扫描程序“中的shell函数recdir(),这个函数可以显示指定目录下的所有文件。只不过这里要把所有的文件名保存到一个数组中,然后对逐一修改以加上日期数字。
# !/bin/bash
dd=$(date '+%y%m%d')
filename=$1$dd
# 修改文件名
mv $1 $filename
# 然后用ftp命令上传这个文件
# ......
exit 0
然后把这个shell脚本变成一个crontab文件,通过传递一个文件过去,让它定时执行。
如果要批量修改文件,可参考我博客上文章“Linux中实现一个目录扫描程序“中的shell函数recdir(),这个函数可以显示指定目录下的所有文件。只不过这里要把所有的文件名保存到一个数组中,然后对逐一修改以加上日期数字。
|
# !/bin/sh
dd=$(date '+%y%m%d')
filename=$1$dd
# 修改文件名
mv $1 $filename
# 然后用ftp命令上传这个文件
# hostip是你要上传的目标机器ip
# username是ftp用户名 password是用户密码
ftp -i -v -n hostip
dd=$(date '+%y%m%d')
filename=$1$dd
# 修改文件名
mv $1 $filename
# 然后用ftp命令上传这个文件
# hostip是你要上传的目标机器ip
# username是ftp用户名 password是用户密码
ftp -i -v -n hostip