ftp免交互自动上传文件脚本

缘由

工作中经常用ftp上传文件,共享给他人,在免交互模式下,可以使用shell脚本,固化用户名、密码等固定输入的重复信息

shell脚本例子

#!/bin/bash
# 根据入参指定目录或当前目录下,根据固定目录结构和固定目标文件信息,自动免交互上传文件
# 借鉴jQuery自动推导思想

funciton ftpfile()
{
  # without any dir para
  if [ -z "$1" ]; then
    srcDir=$(pwd)
  else
    srcDir=$1
  fi
  
  # begin infer the path to file 
  if [ -d $srcDir/childDir ]; then
      srcFileDir=$srcDir/childDir1/childDir11
  fi

  if [ -d $srcDir/childDir1 ]; then
      srcFileDir=$srcDir/childDir11
  fi

  # the srcFile must be in the srcFileDir
  # find the target file if with glob variant using 'ls' child command
  srcFile=$(ls $srcFileDir/someFile*)
  dstDir="$(date +%Y%m%d_%H_%M_%S)"

  ftp -ivn 192.16.8.8 << EOF
      user ftpUser plainPassword
      bin
      cd    /someDstDir
      mkdir $dstDir
      cd    $dstDir
      put   $srcFile ${srcFile##/*/}
      bye
EOF

}

安全模式

借助ssh-keygenssh-copy-id免密配置,将登录用户的可信任公钥拷贝到ssh服务器,以实现ssh免密登录、scp免密拷贝,以及’ssh destination command '执行脚本等。

sftp因为没有尝试过,但是应该也可以免密、免交互

你可能感兴趣的:(小工具,ftp,免密,免交互,脚本,上传文件)