sde自动备份到文件gdb
本方法原理是使用python(以下简称py)调用arcmap的gp,在上再用bat调用py的方式实现。优点是能应用于所有数据库类型(包括pg,oracle等)的sde库
环境:arcmap 10.4,pg版sde
本文以备份以下sde要素类,备份到本地D:\test1文件夹下面的gdb,备份时间间隔是每天一次

备份脚本是py语言,以下提供模板:
模板开始————————————————————————————
#coding:utf-8
# Import arcpy module
import arcpy
import datetime
# 备份本地文件gdb的文件夹路径
bak_gdb_path = "D:\\test1"
# 备份本地文件gdb的文件名(不要带.gdb)
bak_gdb_name="bak_xxx"
# 获取当天日期并按指定格式输出(本例每天备份所有精确到天,有需要按其他格式输出当前时间可以自行搜索py的日期时间输出方式)
today=datetime.date.today()
formatted_today=today.strftime('%Y%m%d')
# 最终的gdb文件名
bak_gdb_name_final=bak_gdb_name+"_"+formatted_today
# Process: 创建文件地理数据库
arcpy.CreateFileGDB_management(bak_gdb_path, bak_gdb_name_final, "CURRENT")
# 复制要素类(就是把sde的要素类复制到gdb,用这种方法实现备份),每复制一个要素类一行,要复制多个要素类,可以通过excel或者文本编辑器替换等当时批量按格式修改
# 参数1:sde的要素类路径,路径格式可以在arcmap使用导出导入等功能看
# 参数2:复制到gdb的路径,一般不用改
arcpy.FeatureClassToGeodatabase_conversion("数据库连接\\连接到sde_demo.sde\\sde_demo.sde.data\sde_demo.sde.SDE_DEMO_POLYGON", bak_gdb_path+"\\"+bak_gdb_name_final+".gdb")
模板结束————————————————————————————
在任意目录,新建一个py文件(本例文件名是test21.py),把模板内容复制进去,然后开始按实际修改,以下说明要改的
输出的本地文件位置

一般不用改

主要改参数1,有个问题是如何确定要导的sde要素类的“路径”?以及在需要导出多个要素类时如何快速生成?随便找个要打开要素类的gp,加载要素类后都会变成要素类的路径,批量执行gp还能获取到多个(换行版的),并且结合excel,记事本的文本替换等批量处理字符的处理方式

到此py文件编辑完毕,然后是手动调用测试和自动运行
调用py文件用到arcmap自带的python(arcmap安装时自带py,而且这里也必须用这个自带的,而不能自己装原版的py)
PS:arcmap自带py有个标志是安装目录下有个ArcGIS10.4(名称根据ArcGIS版本而不同)文件夹

cmd到py安装目录的这一个文件夹

cmd执行命令:python D:\test1\test21.py,其中后面的文件路径要按实际改
执行成功的样子

然后看看备份的gdb是否生成,数据是否复制正确
到此说明py脚本是正常的,然后开始配置定时执行
首先在备份脚本的py文件的文件夹下新建bat文件,本例名为test21.bat

内容如下:
前面一段是arcgis自带py的python.exe的位置,后面就是备份脚本的py文件的位置

"C:\Python27\ArcGIS10.4\python" D:\arcpy_test\test1.py
然后开始新建定时任务,定时执行使用windows的定时任务(也可以用jenkins的定时执行),这个大家应该比较熟悉,在mysql自动备份也有用到,下面也只说明关键位置
自动执行的内容就是上面新建的bat文件

到此自动任务配置完毕,注意自动任务执行有可能执行失败或者出现其他问题(手动执行成功不代表自动执行就一定成功),后续要观察一两次真正成功后才算真的成功
sde自动备份到文件gdb的更多相关文章
- oracle11g 新特性 - rman自动备份控制文件延迟
OS: Oracle Linux Server release 5.7 DB: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 -6 ...
- LINUX 自动备份脚本文件
首先我在/root/backup 目录下建立一个文件夹, #mkdir /root/backup/mysqlbackup 以后在每天五点钟,就会有一个文件保存在这里. 接着新建文件 #vim /roo ...
- 去掉EditPlus自动备份bak文件
用EditPlus编辑文件是总是自动生成一个.bak文件. 其实想去掉EditPlus的自动备份也简单,方法如下: 打开菜单栏上的:工具->参数设置->文件 去掉“保存时创建备份文件”前的 ...
- CentOS中使用Shell脚本实现每天自动备份网站文件和数据库并上传到FTP中(转)
http://www.jb51.net/article/58843.htm 一.安装Email发送程序 复制代码 代码如下: yum install sendmail mutt 二.安装FTP客户端程 ...
- RMAN兼容性、控制文件自动备份、保存时间、备份策略、备份脚本(二)
RMAN 程序的兼容性 RMAN 环境由以下5部分组成:(1) RMAN executable(2) Recovery catalog database(3) Recovery catalog sch ...
- 关于 RMAN 控制文件自动备份路径中指定的 %F 说明
默认情况下,RMAN备份的属性配置一共 14 行( show all; )来自博客园AskScuti CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVIC ...
- 【RMAN】Oracle中如何备份控制文件?备份控制文件的方式有哪几种?
真题1. 如何备份控制文件?备份控制文件的方式有哪几种? 答案:备份控制文件的方式有多种. ① 备份控制文件可以在线进行: SQL> ALTER DATABASE BACKUP CONTROLF ...
- 170208、用Navicat自动备份mysql数据库
数据库备份很重要,很多服务器经常遭到黑客的恶意攻击,造成数据丢失,如果没有及时备份的话,后果不堪设想. 一:备份的目的: 做灾难恢复:对损坏的数据进行恢复和还原 需求改变:因需求改变而需要把数据还原到 ...
- 用Navicat自动备份mysql数据库
以下文章转载自https://blog.csdn.net/u013628152/article/details/54909885,放在自己的博客园以供后面方便查询 —————————————————— ...
随机推荐
- eclipse安装心得和环境变量配置的体会
从昨天开始就开始安装eclipse,一开始觉得安装eclipse很简单,肯定就跟下个游戏差不多,但是打开官网之后发现下载的安装包不能用,经过搜索之后发现是因为下载源不对.改过下载源之后下载的安装包竟然 ...
- Centos7 离线安装 php7
问题:因内部管控,机器无法连接公有yum源安装php. 正常安装php7可以参考CentOS7.2 安装 PHP7.2 下面的代码也是一种方法 yum -y install libmcrypt lib ...
- linux运维、架构之路-SSH远程管理服务
一.SSH服务功能介绍 1.远程登录管理 提供类似telnet远程联机服务器的服务,即上面提到的SSH服务 2.远程传输文件 是类似FTP服务的sftp-server,借助SSH协议来传输数据的,提供 ...
- Linux内核设计与实现 总结笔记(第十一章)定时器和时间管理
时间管理在内核中占用非常重要的地位,内核中有大量的函数都需要基于时间驱动的,内核对相对时间和绝对时间都非常需要. 一.内核中的时间概念 内核必须在硬件的帮助下才能计算和管理时间,系统定时器以某种频率自 ...
- A标签跳转链接并修改样式
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 随机森林(Random Forest,简称RF)和Bagging算法
随机森林(Random Forest,简称RF) 随机森林就是通过集成学习的思想将多棵树集成的一种算法,它的基本单元是决策树,而它的本质属于机器学习的一大分支——集成学习(Ensemble Learn ...
- spring学习笔记之---JDBC Template
JDBC Template(简化持久化操作) (一)创建项目 (1)Maven配置 <dependencies> <dependency> <groupId>ju ...
- 多项式总结(unfinished)
试试以二级标题为主的格式. 多项式相关 注:本篇博客不包含\(FFT\)基础姿势.如果您想要阅读本篇博客,请确保自己对\(FFT,NTT\)有基本的认识并且能够独立写出代码. 多项式是什么? 左转数学 ...
- Spring Cloud架构教程 (八)消息驱动的微服务(消费组)【Dalston版】
使用消费组实现消息消费的负载均衡 通常在生产环境,我们的每个服务都不会以单节点的方式运行在生产环境,当同一个服务启动多个实例的时候,这些实例都会绑定到同一个消息通道的目标主题(Topic)上. 默认情 ...
- [CSP-S模拟测试]:辣鸡(ljh) (暴力)
题目描述 辣鸡$ljh\ NOI$之后就退役了,然后就滚去学文化课了.然而在上化学课的时候,数学和化学都不好的$ljh$却被一道简单题难住了,受到了大佬的嘲笑.题目描述是这样的:在一个二维平面上有一层 ...