当前位置: 技术问答>linux和unix
请问:如何将一文件压缩后通过管道送至FTP Server?
来源: 互联网 发布时间:2015-03-17
本文导语: 如题,要将一文件压缩后直接通过管道方式送至FTP服务器!~ 急!~ 请大家帮忙! | 几点建议: 1、如果你的文件比较大,还需要考虑文件是否生成完毕,比如区分未写完的和写完的文件名。 ...
如题,要将一文件压缩后直接通过管道方式送至FTP服务器!~
急!~ 请大家帮忙!
急!~ 请大家帮忙!
|
几点建议:
1、如果你的文件比较大,还需要考虑文件是否生成完毕,比如区分未写完的和写完的文件名。
2、一般压缩命令会要输出文件,如compress, tar, gzip等。但是,可以使用如zlib算法进行memory压缩,可以控制压缩率。memory可以按块压缩,压缩结束的时候会加入checksum。
3、使用socket传输比较合适。
1、如果你的文件比较大,还需要考虑文件是否生成完毕,比如区分未写完的和写完的文件名。
2、一般压缩命令会要输出文件,如compress, tar, gzip等。但是,可以使用如zlib算法进行memory压缩,可以控制压缩率。memory可以按块压缩,压缩结束的时候会加入checksum。
3、使用socket传输比较合适。
|
用 shell 脚本程序解决问题,内容如下:
#!/bin/sh
FILENAME=testfile
# 文件存放的路径
LCDPATH=`pwd`
# 压缩文件
compress ${FILENAME}
# 上传文件
echo "user licj licj
lcd ${LCDPATH}
put ${FILENAME}.Z
" | ftp -n localhost
#!/bin/sh
FILENAME=testfile
# 文件存放的路径
LCDPATH=`pwd`
# 压缩文件
compress ${FILENAME}
# 上传文件
echo "user licj licj
lcd ${LCDPATH}
put ${FILENAME}.Z
" | ftp -n localhost
|
补充一点说明:
上边上传文件 部分中的user 后要改成你 ftpserver 的用户名和密码
最后一行的 ftp -n localhost 中的localhost 要改成 ftp server 的IP地址。
上边上传文件 部分中的user 后要改成你 ftpserver 的用户名和密码
最后一行的 ftp -n localhost 中的localhost 要改成 ftp server 的IP地址。
|
#!/bin/sh
LPATH=`pwd`
RPATH=path on ftp server
MOD=bin
FILELIST="file1 file2 等等"
# 上传文件
ftp -n -i ftpserver
LPATH=`pwd`
RPATH=path on ftp server
MOD=bin
FILELIST="file1 file2 等等"
# 上传文件
ftp -n -i ftpserver