美文网首页
数据库定时导出并上传到FTP

数据库定时导出并上传到FTP

作者: 前端_逗叔 | 来源:发表于2017-12-29 19:10 被阅读70次

背景

项目开发中客户需要周天晚上12点把今天的数据导出并上传到相应的ftp上面。

导出数据库数据

编写语句

-- 允许配置高级选项
EXEC sp_configure 'show advanced options', 1
GO

-- 重新配置
RECONFIGURE
GO

-- 启用xp_cmdshell
EXEC sp_configure 'xp_cmdshell', 1
GO

--重新配置
RECONFIGURE
GO


--根据日期创建文件夹(2017-05-24)
DECLARE @s_time varchar(20)
DECLARE @e_time VARCHAR(20)
DECLARE @cmd VARCHAR(1000)
SELECT @s_time=convert(varchar(20),getdate(),23)
SELECT @e_time=convert(varchar(10),dateadd(dd,1,getdate()),120)
SET @cmd = 'mkdir  D:\export\'+@s_time
EXEC master..xp_cmdshell @cmd

--导出相应的记录
DECLARE @sql VARCHAR(1000)
SET @sql ='BCP "SELECT ''"iface"'' AS call,ApiName AS method,COUNT(*) AS TOTALcount 
FROM DataAgent.dbo.ApiCalled WHERE Vender = ''"Weixin"'' AND RequestTime > '''+@s_time+''' AND RequestTime < '''+@e_time+'''  
GROUP BY ApiName " queryout D:\export\'+@s_time+'\QencentCallWeChat.CSV -c -t\t -w"UTF-8" -U"sa" -P"Qxuninfo@123"'
--执行导出的BCP脚本   -w为编码
EXEC master..xp_cmdshell @sql

-- 允许配置高级选项
EXEC sp_configure 'show advanced options', 1
GO

-- 重新配置
RECONFIGURE
GO

-- 启用xp_cmdshell
EXEC sp_configure 'xp_cmdshell', 0
GO

--重新配置
RECONFIGURE
GO

添加定时任务

SQL Server 创建定时任务JOB

上传FTP

通过上面的步骤数据库中的数据已经导出成csv文件并保存在 "D:\export" 目录下面,接下来需要用windows脚本上传到ftp上面

编辑脚本

上传到ftp需要用到一个软件psftp.exe,文末会提供下载地址。

微信图片_20170814173142.png

sftp.bat文件

@echo off
set filename=%date:~0,4%-%date:~5,2%-%date:~8,2%
echo open data.xxx.cn.com > psftp_cmd.txt
echo cd /Test >> psftp_cmd.txt
echo put -r D:/export/%filename% >> psftp_cmd.txt
echo bye
psftp -l 用户名 -pw 密码 -b psftp_cmd.txt
exit

psftp_cmd.txt中的内容是自动生成的不需要管。

添加windows定时任务

Win7怎么设置定时自动执行任务
也可以自行百度

下载

不能上传附件,暂时不能用。
定时上传FTP脚本

相关文章

  • 数据库定时导出并上传到FTP

    背景 项目开发中客户需要周天晚上12点把今天的数据导出并上传到相应的ftp上面。 导出数据库数据 编写语句 添加定...

  • shell自动备份mysql脚本

    作用 定时执行mysql全量备份,并上传到备用服务器。使用mysqldump备份mysql,scp上传文件到备份服...

  • docker镜像导出导入

    1. 背景 将本地docker环境导出为镜像文件,并上传到线上环境。且线上环境只支持使用docker load指令...

  • Oracle数据导入导出

    1、导入导出思路: 使用Oracle的exp命令将指定数据库导出为dmp文件,然后将dmp文件上传到需要导入的数据...

  • 前端上传和下载文件方案

    最近接了一个需求,其中有一个小需求就是点击前端页面上按钮选择需要上传的文件并上传到指定FTP服务器,再点击某个按钮...

  • 安装 oracle12c-docker

    下载oracle-12.2.0.1的安装包并上传到服务器上。 从github下载文件并上传到服务器上注意:安装文件...

  • mysql使用bat批处理导出sql文件

    背景: 定时导出mysql数据库为sql文件的批处理文件代码如下 解决办法:

  • MySQL的数据导入导出

    MySQL数据库的导入导出 导出 导出数据库 导出数据 导出单表数据 导出单表数据结构 操作数据库 导出整个数据库...

  • 树莓派的定时拍照并上传到百度云

    树莓派的定时拍照并上传到百度云 安装摄像头以及配置开关打开 如何连接以及打开摄像头功能可以参考官方Document...

  • 数据库备份

    编写脚本db_backup.sh 创建定时任务 crontab -e 数据库备份并通过ftp发送到服务器

网友评论

      本文标题:数据库定时导出并上传到FTP

      本文链接:https://www.haomeiwen.com/subject/hkdwgxtx.html