shell脚本上传到ftp以测试连接

时间:2020-03-05 15:31:46  来源:igfitidea点击:

此脚本的主要目标是监控FTP服务器。
此脚本是如何在BASH Shell中使用FTP命令的示例。
系统管理员可以使用此脚本检查FTP服务器是否存在并上传任何数据/备份。

每次脚本创建一个新文件时,每次具有不同的MD5和,脚本将其上载到FTP服务器后,请检查两个文件的MD5SUM。
如果md5sum相同,这意味着文件成功上传到FTP服务器。

shell脚本测试FTP上传

以下shell脚本测试FTP上传:

#!/bin/bash
function usage {
echo "Usage: 
./ftp.sh --ftpserver ftp.example.com 20
Uploading file ... DONE
Checking MD5 sum ... MD5 sum OK
" echo "--ftpserver " echo "--help - this help" exit 1 } if [ $# -eq 0 ]; then usage fi while [ $# -gt 0 ] do case "" in --ftpserver) HOST=;TIMEOUT=;shift;; --help) usage;; *) break;; esac shift done if [ x$HOST = "x" ]; then usage fi ### Global Variables ORIG_DIR="/tmp/" LOG_FILE="/tmp/ftp.log" EMAIL="[email protected]" #next function will make all checks. function check { #few more variables ####VARIABLES MAXTIMEOUT=300 ORIG_FILE="check.file" FTPTIMEOUT='20' USERNAME="user" FOLDER="test" PASSWORD="password" DATAFOLDER="somefolder" cd $ORIG_DIR echo -n "Creating file … " dd if=/dev/urandom of=$ORIG_DIR/$ORIG_FILE bs=104857 count=150 > /dev/null 2>&1 echo "Done" echo -n "Uploading file … " ftp -inv < $LOG_FILE open $HOST user $USERNAME $PASSWORD cd $FOLDER/$DATAFOLDER binary passive put $ORIG_FILE quote size $ORIG_FILE close bye EOF echo " DONE" echo -n "Checking MD5 sum ... " ftp -inv <> $LOG_FILE open $HOST user $USERNAME $PASSWORD cd $FOLDER/$DATAFOLDER passive binary quote size $ORIG_FILE dir quote XMD5 $ORIG_FILE close bye EOF MD5=`tail -2 $LOG_FILE | head -1 | awk '{print }' | tr [:upper:] [:lower:]` ftp -in </dev/null open $HOST user $USERNAME $PASSWORD cd $FOLDER/$DATAFOLDER delete $ORIG_FILE close bye EOF MD5_ORIG=`/usr/bin/md5sum $ORIG_FILE | awk '{print }'` if [ x"${MD5}" != x"${MD5_ORIG}" ]; then RESULT=" File corrupted." else RESULT=" MD5 sum OK " fi echo $RESULT rm $ORIG_FILE } check

shell脚本输出

##代码##