shell 脚本之文件打包上传ftp
功能描述:
主要是将本地的文件打包成tar包,然后上传到ftp的指定目录下。
功能实现
#!/bin/bash
source /etc/profile
echo -e "\033[31m ****** FTP 上传文件 START ****** \033[0m"
#[ftp]
fip=`awk -F '=' '/\[ftp\]/{a=1}a==1&&$1~/ip/{print $2;exit}' config.ini`
funame=`awk -F '=' '/\[ftp\]/{a=1}a==1&&$1~/username/{print $2;exit}' config.ini`
fpwd=`awk -F '=' '/\[ftp\]/{a=1}a==1&&$1~/password/{print $2;exit}' config.ini`
ftpdir=`awk -F '=' '/\[ftp\]/{a=1}a==1&&$1~/upfile/{print $2;exit}' config.ini`
#切换目录
localfiledir=`awk -F '=' '/\[ftp\]/{a=1}a==1&&$1~/localfiledir/{print $2;exit}' config.ini`
cd $localfiledir
##删除空文件
find . -name "*" -type f -size 0c | xargs -n 1 rm -rf
today=`date +%Y%m%d`
filename=${today}".tar"
##打包
tar -cvf $filename $localfiledir
#连接ftp上传文件
ftp -n -i <<EOF
open $fip
user $funame $fpwd
bin
cd $ftpdir
put $filename
bye
EOF
echo -e "\033[31m ****** FTP 上传文件 END ****** \033[0m"
注:可以在此基础上进行扩展,达到自己想要的功能。