linux下使用Shell脚本使用ftp

# 命令说明

  1. -n 不受.netrc文件的影响。(ftp默认为读取.netrc文件中的设定)
  2. << 是使用即时文件重定向输入。
  3. !是即时文件的标志它必须成对出现,以标识即时文件的开始和结尾。

主要操作命令:

  • lcd # 对应到哪个文件夹下
  • mget * # 批量下载
  • mput * # 批量上传
  • get a.sh a.sh # 下载单个文件
  • put a.sh a.sh # 上传单个文件

ftp自动登录; 把以下脚本另存为文件加入到crontab中即可实现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
!
1
2
3
4
5
6
7
8
9
10
11
12
13

# 上传文件

####本地的/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
!
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# 下载单个文件

####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
!
1
2
3
4
5
6
7
8
9
10
11
12
13

# 上传单个文件

####把本地/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
!
1
2
3
4
5
6
7
8
9
10
11
12
13
上次更新: 2022/04/15, 05:41:32
×