笺注:这是在 Linux客户端使用ftp命令连接FTP服务端 的基础上进行的。
FTP服务端(Oracle Linux 6.9):
创建备份文件:(以当天日期的方式进行标记)
[root@oracle-linux6 ~]# cd /ftp/
[root@oracle-linux6 ftp]# tar -czf puttyfile_$(date +"%Y%m%d").tar.gz puttyfile
[root@oracle-linux6 ftp]# du -sh puttyfile*
7.1M puttyfile
5.8M puttyfile_20190812.tar.gz
######
FTP客户端(CentOS 6.9)
Linux客户端使用lftp命令连接FTP服务端(192.168.168.135):
[root@Zabbix_server_01 ~]# yum -y install lftp
[root@Zabbix_server_01 ~]# which lftp
/usr/bin/lftp
连接:
lftp 192.168.168.135 -u zhuohua,111
注释:lftp的使用格式= lftp FTP服务端IP地址 -u 用户名,密码
注释:
pwd 查看当前在远程FTP目录里的具体位置
cd puttyfile/ 在远程FTP目录里面,再进入到某个子目录
cd .. 在远程FTP的子目录里返回上一级目录
注释:
ls 查看当前所在的远程FTP目录里有哪些文件和文件夹
注释:
lpwd 查看当前在FTP客户端本地目录里的具体位置
!ls 查看FTP客户端的当前目录下有什么文件、文件夹
注释:
lcd zabbix-4.4.5/ 在FTP客户端本地目录里面,再进入到某个子目录
lcd .. 在FTP客户端本地目录里返回上一级目录
下载文件到FTP客户端的当前工作目录:
get puttyfile_20190812.tar.gz
上传文件到FTP服务端的当前工作目录:
put lnmp-install.log
FTP客户端使用mget可以一次性下载多个文件,还可以指定文件类型:
mget *.sql
FTP客户端使用mput可以一次性上传多个文件,还可以指定文件类型:
mput *.txt
退出lftp:
bye
######
######
在FTP客户端的脚本中使用lftp命令:
[root@Zabbix_server_01 ~]# vi lftp_backup.sh
#!/bin/bash
Backup_Home="/home/backup/" #FTP客户端的本地备份存放目录
if [ ! -d ${Backup_Home} ]; then
mkdir -p ${Backup_Home}
fi
TodayWWWBackup_1=puttyfile_$(date +"%Y%m%d").tar.gz #远程备份文件的名称
FTP_Host='192.168.168.135' #FTP服务端的登录信息
FTP_Username='zhuohua'
FTP_Password='111'
echo "Download and Upload..."
cd ${Backup_Home} #进入FTP之前,先切换到FTP客户端的本地备份存放目录
lftp ${FTP_Host} -u ${FTP_Username},${FTP_Password} << EOF
#下载远程备份文件到FTP客户端的当前工作目录:
get ${TodayWWWBackup_1}
#切换到FTP服务端的指定子目录:
cd /puttyfile/
#上传文件到FTP服务端的当前工作目录:
mput *.doc
bye
EOF
echo "complete."
脚本的权限:
[root@Zabbix_server_01 ~]# ll lftp_backup.sh
-rw-r--r-- 1 root root 779 8月 12 07:21 lftp_backup.sh
在FTP服务端,用户zhuohua对FTP目录要有写入的权限:
[root@oracle-linux6 ~]# chmod -R 777 /ftp/
在FTP客户端手动运行脚本:
下载文件成功:
上传文件成功:
相关文章:
本地备份站点目录和数据库+crontab计划任务
远程备份站点目录和数据库+at一次性计划任务
vsftpd匿名用户
date命令
CentOS8使用命令ftp/lftp/scp |