#!/bin/bash
IP_Address=192.168.1.1
USERNAME =admin
PASS_WORD =admmin123
REMOTE_PATH=/a/ (远程ftp路径)
download_Path =/root/path/ (本地服务地址)
ftp -inv <<! EOF
open $IP_Address
user $USERNAME $PASS_WORD (此处说明,不知道为什么在我机器上,不能用参数类型,而是直接 填写用户名和密码)
binary
cd $REMOTE_PATH
lcd $download_Path
get upfile.txt (下载的文件)
close
bye
EOF
md5sum upfile.txt > newfile.md5 (把下载下来的文件进行md5码 重定向储存到newfile.md5这个文件中)
diff -r newfile.md5 localmd5result (新的文件的MD5码和 本地文件的MD5文件对比)
if [ $? -ne 0 ];then
echo "Have a new file"
echo ""
read -p "do you want to update the download file?(Y/N):" select_yn
echo ""
if [ "$select_yn" == "Y" ] || [ "$select_yn" == "y" ]; then
#更新本地md5
md5sum upfile.txt > localmd5result
#如果目标存在强制复制到指定的文件夹内
cp -fp upfile.txt backdir/
echo "You have successfully download the update file"
elif [ "$select_yn" == "N" ] || [ "$select_yn" == "n" ]; then
echo "Thank you"
else
echo "I don't know what your choice is !!!"
fi
else
echo "This is the latest file"
fi
IP_Address=192.168.1.1
USERNAME =admin
PASS_WORD =admmin123
REMOTE_PATH=/a/ (远程ftp路径)
download_Path =/root/path/ (本地服务地址)
ftp -inv <<! EOF
open $IP_Address
user $USERNAME $PASS_WORD (此处说明,不知道为什么在我机器上,不能用参数类型,而是直接 填写用户名和密码)
binary
cd $REMOTE_PATH
lcd $download_Path
get upfile.txt (下载的文件)
close
bye
EOF
md5sum upfile.txt > newfile.md5 (把下载下来的文件进行md5码 重定向储存到newfile.md5这个文件中)
diff -r newfile.md5 localmd5result (新的文件的MD5码和 本地文件的MD5文件对比)
if [ $? -ne 0 ];then
echo "Have a new file"
echo ""
read -p "do you want to update the download file?(Y/N):" select_yn
echo ""
if [ "$select_yn" == "Y" ] || [ "$select_yn" == "y" ]; then
#更新本地md5
md5sum upfile.txt > localmd5result
#如果目标存在强制复制到指定的文件夹内
cp -fp upfile.txt backdir/
echo "You have successfully download the update file"
elif [ "$select_yn" == "N" ] || [ "$select_yn" == "n" ]; then
echo "Thank you"
else
echo "I don't know what your choice is !!!"
fi
else
echo "This is the latest file"
fi