如何在shell脚本里使用sftp批量传送文件

2025-03-24 19:14:31
推荐回答(1个)
回答1:

#!/bin/bash
# your answer 

# upload TARGETS to $FTPIP$FTPDIR
FTPCMD=ftp.cmd
FTPIP=127.0.0.1
FTPUSER=anonymous
FTPPWD=ftp@kernel.org
FTPDIR=/rootdir/ftp/dir
TARGETS=./target/*

echo open $FTPIP>$FTPCMD
echo user $FTPUSER $FTPPWD>>$FTPCMD
echo cd $FTPDIR>>$FTPCMD
echo mput $TARGETS>>$FTPCMD

ftp -ivn<$FTPCMD
rm -f $FTPCMD

# download $FTPIP$FTPDIR$FTPTARGETS to $TARGETS
FTPIP=kernel.org
FTPUSER=anonymous
FTPPWD=kernel@kernel.org
FTPDIR=/pub/linux/kernel/Historic/old-versions/
TARGETS=./*.tar.?z
TARGETDIR=targets

echo open $FTPIP>$FTPCMD
echo user $FTPUSER $FTPPWD>>$FTPCMD
echo cd $FTPDIR>>$FTPCMD
echo mget $TARGETS>>$FTPCMD

if [ test -d $TARGETDIR ]; then
    rm -rf $TARGETDIR
fi

mkdir $TARGETDIR
ftp -ivn<../$FTPCMD
cd ..
rm -f $FTPCMD