FTP服务器异地备份文件,ftp异地备份

本文介绍了如何创建shell脚本来实现数据库备份,并通过FTP将备份文件上传到远程服务器。首先,创建`ftp.sh`脚本用于连接FTP服务器并上传文件。然后,`ftpbak.sh`脚本用于在非默认端口上传备份文件。最后,`re.sh`脚本详细展示了整个流程,包括数据库备份、压缩、删除旧文件以及通过FTP上传到指定服务器。这些自动化脚本提高了数据管理和备份的效率。
摘要由CSDN通过智能技术生成

需求:将数据备份的文件上传到ftp所在服务器

ftp服务器IP地址:192.168.5.5

ftp服务器账户/密码:jie/jd!2016

1、在数据库所在服务器上创建ftp.sh脚本,用的root用户创建的脚本,权限也root用户

#vi /home/hh/ftp.sh

#!/bin/bash #声明改文件为sh脚本可执行文件

CURDATE=$(date '+%Y%m%d') #获取当天的日期

cd /u01/bacup/ #切换本地目录

ftp -v -n 192.168.5.5 <

user jie jd!2016 #用户名 密码

binary #以字节传输(表示以二进制方式传输)

hash

put NL$CURDATE*.dmp NL$CURDATE.dmp # 前面的NL$CURDATE*.dmp这是传文件名字,后面NL$CURDATE.dmp是上传到ftp服务器上保存的名字

put HL$CURDATE*.dmp HL$CURDATE.dmp # 前面的HL$CURDATE*.dmp这是传文件名字,后面HL$CURDATE.dmp是上传到ftp服务器上保存的名字

bye

EOF

FTP的命令行格式为:

ftp -v -d -i -n -g [主机名] ,其中

-v 显示远程服务器的所有响应信息;

-n 限制ftp的自动登录,即不使用;.n etrc文件;

-d 使用调试方式;

-g 取消全局文件名。

给ftp.sh脚本执行权限,做计划任务即可。

2、ftp异地上传备份文件加端口(不使用默认的ftp22端口的),用的root用户创建的脚本

# vi /u01/ftpbak.sh

#!/bin/bash

CURDATE=$(date '+%Y%m%d')

cd /u01/databack/

ftp -v -n 192.168.5.8 221 <

user testftp test12

binary

hash

put gz_$CURDATE*.zip #put表示把本地路径下的文件复制上传到FTP服务器(远程计算机)上设置的路径下的文件

bye

EOF

3、备份数据库同时异地上传备份数据

$ vi /u01/databack/bin/re.sh

#!/bin/sh

source /home/oracle/.bash_profile

timedate=$(date +%Y%m%d%H%M%S)

bakdbname=re

bakdbpasswd=13

dumpdbname=re

bakdbhome=/u01/databack

expdp $bakdbname/$bakdbpasswd directory=backDir dumpfile=$dumpdbname'_'$timedate.dmp logfile=$bakdbname'_'$timedate.log

cd /u01

zip -r databack/$dumpdbname'_'$timedate.zip databack/$dumpdbname'_'$timedate.dmp databack/$bakdbname'_'$timedate.log

find $bakdbhome/*.log -mtime +10 -exec rm -rf {} \;

find $bakdbhome/*.zip -mtime +10 -exec rm -rf {} \;

find $bakdbhome/*.dmp -exec rm -rf {} \;

cd $bakdbhome

ftp -v -n 192.168.5.5 >>${bakdbname}_${timedate}.log << EOF

user jie jd!2016

binary

hash

put ${dumpdbname}_${timedate}.zip ${dumpdbname}_${timedate}.zip

bye

EOF

#iconv -f gb2312 -t utf8 ${bakdbname}_${timedate}.log -o ${bakdbname}_${timedate}.log

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值