Linux使用Shell脚本实现ftp的自动上传下载

1. ftp自动登录批量下载文件。

#####从ftp服务器上的/home/data 到 本地的/home/databackup####
#!/bin/bash
ftp -n<<!
open 192.168.1.171
user guest 123456
binary
cd /home/data
lcd /home/databackup
prompt
mget *
close
bye
!
2. ftp自动登录上传文件。

####本地的/home/databackup to ftp服务器上的/home/data####
#!/bin/bash
ftp -n<<!
open 192.168.1.171
user guest 123456
binary
hash
cd /home/data
lcd /home/databackup
prompt
mput *
close
bye
!

3. ftp自动登录下载单个文件。
####ftp服务器上下载/home/data/a.sh to local /home/databackup####
#!/bin/bash
ftp -n<<!
open 192.168.1.171
user guest 123456
binary
cd /home/data
lcd /home/databackup
prompt
get a.sh a.sh 
close
bye
!

4. ftp自动登录上传单个文件。
####把本地/home/databachup/a.sh up ftp /home/databackup 下####
#!/bin/bash
ftp -n<<!
open 192.168.1.171
user guest 123456
binary
cd /home/data
lcd /home/databackup
prompt
put a.sh a.sh 
close
bye
!


小结:把以上脚本另存为文件加入到crontab中即可实现ftp自动上传、下载文件。
注解:
1. -n 不受.netrc文件的影响。(ftp默认为读取.netrc文件中的设定)
2. << 是使用即时文件重定向输入。
3. !是即时文件的标志它必须成对出现,以标识即时文件的开始和结尾。

4. 确保脚本有执行权限 chmod +x 脚本名称

 

转自http://liwenge.iteye.com/blog/566515

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要编写一个Linux Shell脚本下载文件,你可以参考以下步骤: 1. 首先,你需要创建一个文件夹来存放下载的文件。你可以使用以下命令来检查文件夹是否存在,如果不存在则创建文件夹: ```shell dir="td_area_tmp" if [ ! -d "$dir" ]; then mkdir $dir echo "创建文件夹成功" else echo "文件夹已经存在" fi ``` 2. 然后,你需要切换到文件夹的目录下: ```shell cd td_area_tmp ``` 3. 接下来,你可以使用expect工具来登陆sftp下载文件。你可以使用以下脚本: ```shell #!/usr/bin/expect # 设置远端IP set ip 11.11.11.11 # 设置用户名 set username hh # 设置密码 set password pass spawn sftp ${username}@${ip} expect "*?" send "yes\r" expect "*Password" send "${password}\r" expect "sftp>" send "cd /data/disk02/hh/upload/td_area\r" expect "sftp>" send "get *.csv ./\r" expect "sftp>" send "bye\r" ``` 4. 如果你想使用FTP下载文件,你可以使用以下脚本: ```shell #!/bin/sh ftp -v -n 192.168.0.199<<EOF user admin admin binary cd /ftphome/data lcd /local/data prompt mget * bye EOF echo "从FTP成功下载文件" ``` 这样,你就可以编写一个Linux Shell脚本下载文件了。记得在脚本中替换对应的IP、用户名、密码和路径信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [centos7下(Linux) SFTP自动 登陆 下载文件 shell脚本](https://blog.csdn.net/weixin_44254243/article/details/120001719)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Linux使用Shell脚本实现FTP自动上传和下载文件](https://blog.csdn.net/D1179869625/article/details/126168435)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值