下面的脚本 会把本地的文本文件压缩后, 上传到FTP服务器上。 里面有一点小逻辑, 就是上传的文本文件 是 日期时间.txt 形式的, 一天写一个日志文件, 今天的文件不上传, 只上传 老的日志文件。 #/bin/sh suffix=`cat suffix.ini` now=`date +%Y%m%d` curfile="./$now.txt" curgzfile="$curfile.tar.gz" upload () { ftp -n<<! open 192.168.2.1 user root 123456 binary mkdir logservice cd logservice lcd ./ prompt put "$1" ls close bye ! } updir="./uploaded" if [ -d "$updir" ] then echo "updir exists" else mkdir $updir fi for file in $1./*.txt do if [ "$file" != "$curfile" ] then if [ "$file" != "./*.txt" ] then echo "$file" gzfile="$file.$suffix.tar.gz" if [ -e "$gzfile" ] then echo "file $gzfile exists" else tar -cvzf "$gzfile" "$file" echo "create tar.gz file=$gzfile" fi upload $gzfile rm -fr $file mv "$gzfile" "./uploaded" fi fi done