shellスクリプトログインsftp
975 ワード
sftpはftpのように直接アカウント/パスワードを使用してログインすることはできません(ftp ipアドレス;userアカウント/パスワード)、インタラクティブにログインパスワードを入力する必要があります.shellではexpectを使用してパスワードを入力できます.
使用することもできます
ssh-keygen-t rsaは公開秘密鍵ペアを生成し、公開鍵をsftpサーバの.sshディレクトリに配置し、秘密登録を免除する.
ただし、shellスクリプトに論理操作がある場合はエラーが報告され、
sftp $rad.put $BSF_USER@$BSF_IP
expect{
"password:" {send "$spwd\r"}
"(yes/no)?" {send "yes\r";exp_continue}
}
使用することもできます
ssh-keygen-t rsaは公開秘密鍵ペアを生成し、公開鍵をsftpサーバの.sshディレクトリに配置し、秘密登録を免除する.
ただし、shellスクリプトに論理操作がある場合はエラーが報告され、
BSF_IP="172.16.67.23"
BSF_USER="send"
BSF_PATH=/tw/sjzf/sichuan/data/${AC_DATE}/day
FILE_PATH=${ETL_DATA}/PROV_DATA/sichuan/day/${AC_DATE}
for loop in 1 2 3 4 5 6
do
rad=$RANDOM
# .put
echo "get $BSF_PATH/i_10000_${AC_DATE}_SC000${loop}_00_001.dat $FILE_PATH" >> ${rad}.put
sftp -b $rad.put $BSF_USER@$BSF_IP
rm -f $rad.put
done
bye