程序每天定时启动bat_Windows的任务计划程序和Dataloader定时备份对象数据Batch执行...

Salesforce环境中的数据,可谓是CRM和End User的重中之重,一切的数据结构最后的展示形式,都离不开数据,数据也可以说是系统的灵魂,能让系统更加丰满,可视化也是如此道理。

对于数据的把握,头脑思路一定要非常清晰,在整理数据时,对象与对象间的关系,决定了我们以什么样的形式去收集排列组合必要的数据。

对于数据备份的需求。客户基本都会要求,只是限于SFDC备份的一些规则,我们备份的量以及备份的时机都有所不同。导出数据也就是简单的备份,有多种方法。

Data Export

Data Loader

API数据备份

  • REST API

  • SOAP API

  • Buik API

  • Metadata API

Report

AppExchagne Package

Google Plug-in

购买一些备份的产品服务等

。。。

手动备份,有点突兀,而且需要大量时间,那么自动的备份,每天每周每月等,如果可以自动操作完成,也不会害怕数据丢失给客户带来的损失。

这次主要介绍一下,通过修改Data Loader的配置文件,cmd命令行执行batch导出SFDC对象的数据,以及通过windows的任务计划程序来定时执行完成的batch文件。备份到指定目录,以及设定每次备份的文件名为当天的时间。这样的话,虽然省去了手动操作,但是需要在客户电脑上事先安装好,执行计划也处理好才可以使用。

有一些基本的需要安装:

Data Loader

JAVA JDK JRE

版本都别太低,否则有些配置无法起作用。

下面开始操作。

1,进入到Data Loader安装目录的Bin目录

41399b5985d405a2bf3e6a4bfcaaacbc.png

aab487c1db5a7b44ba2987e05b4f33ac.png

2,

win+r  ->   CMD

cd C:\Users\Lenovo\yes\v48.0.0\bin

encrypt -k dataloder.key    //生成key文件

encrypt -e 你的SFDC密码(可以加token)“C:\Users\Lenovo\yes\v48.0.0\bin\ dataloder.key” //SFDC密码加密

790903e97e4e89928a039c18ac46fde4.png

df701e83de11189b2238b0c2951e502e.png

3,准备想要导出对象的映射文件(Mapping)

用Data Loader时也是需要的,数据库的API名和自己写的别名同样即可,这里举个Account的例子。

名称随便起,AccountMapping.sdl,放到C:\Users\Lenovo\yes\v48.0.0\samples\conf目录下


#Mapping values#zcNAME=NameTYPE=TypeACCOUNTSOURCE=AccountSourceINDUSTRY=IndustryDESCRIPTION=Description


f585b4f0375e7b24c112569d28683e8b.png

4,修改data loader 配置文件process-conf.xml

下面的是导出数据部分的Bean,有需要的话,其他导入等部分可以自行修改


<bean id="csvAccountExtractProcess"class="com.salesforce.dataloader.process.ProcessRunner"singleton="false"><description>csvAccountExtract job gets account info from salesforce and saves info into a CSV file."description><property name="name" value="csvAccountExtract"/><property name="configOverrideMap"><map><entry key="sfdc.debugMessages" value="false"/><entry key="sfdc.debugMessagesFile" value="C:\Users\Lenovo\yes\v48.0.0\samples\status\sfdcSoapTrace.log"/><entry key="sfdc.endpoint" value="https://login.salesforce.com"/><entry key="sfdc.username" value="xx@xx.com"/><entry key="sfdc.password" value="2b9ac51ec1c0e99706dbxxxxxxb8f91060fc00f779e2e7560db140b20bd8a7f5"/><entry key="process.encryptionKeyFile" value="C:\Users\Lenovo\yes\v48.0.0\bin\dataloder.key"/><entry key="sfdc.timeoutSecs" value="600"/><entry key="sfdc.loadBatchSize" value="200"/><entry key="sfdc.entity" value="Account"/><entry key="sfdc.extractionRequestSize" value="500"/><entry key="sfdc.extractionSOQL" value="Select Id, Name, Type, AccountSource,Industry,Description FROM Account"/><entry key="process.operation" value="extract"/><entry key="process.mappingFile" value="C:\Users\Lenovo\yes\v48.0.0\samples\conf\AccountMapping.sdl"/><entry key="dataAccess.type" value="csvWrite"/><entry key="dataAccess.name" value="C:\Users\Lenovo\yes\v48.0.0\samples\data\Account_BK.csv"/>map>property>bean>


157969581d75caab40cdc019dd0a9534.png

5,上面的配置文件配置好了之后,就可以通过CMD命令行,执行导出数据的操作了。

在bin目录下,process.bat “C:\Users\Lenovo\yes\v48.0.0\samples\conf” csvAccountExtractProcess

98e8db631bcbc8463aea87186223e522.png

回车之后就会自动执行了,

会看到下面的内容,也就是执行成功了。

e80bb963c977e2083e97956ab05c3388.png

在配置文件里面设置的路径和备份文件名

C:\Users\Lenovo\yes\v48.0.0\samples\data

fc3372b802eadc9d79ee59b6ffec9c7a.png

简单看一下里面的内容,和手动导出的都一样。

57932cd59d094483669eb6b5373937e5.png

6,接下来就可以通过windows的任务计划程序来自动执行写好的Batch文件,可以每天备份。

Data loader JRE 启动文件,将自己JRE文件夹复制到Data loader目录中,

我的JRE文件在C盘:C:\Program Files\Java

1b91bcb0343b60f42acdcf57995b1dcf.png

C:\Users\Lenovo\yes\v48.0.0

e2ab24744bb6626d023ce60343e7e535.png

7,创建两个Batch文件,一个也行,看自己的需求。

accountBatch.bat

设置Java的环境变量为目录中的JRE,调用datalaoder等


@echo ON
:runcd C:\Users\Lenovo\yes\v48.0.0\bin


set PROCESS_OPTION=process.name="csvAccountExtractProcess"
..\jre1.8.0_131\bin\java.exe -cp ..\dataloader-48.0.0-uber.jar -Dsalesforce.config.dir="C:\Users\Lenovo\yes\v48.0.0\samples\conf" com.salesforce.dataloader.process.ProcessRunner %PROCESS_OPTION%
process.bat C:\Users\Lenovo\yes\v48.0.0\samples\conf csvAccountExtractProcess


accountBatchRename.bat

重新命名备份的文件,加上日期等方便查看。


@echo ON
:run


cd C:\Users\Lenovo\yes\v48.0.0\samples\dataif exist Account_BK.csv (
::重命名生成的文件
ren Account_BK.csv Account_BK%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%.csv
)


c997d7cd92e67900167dc6ef1d1159a5.png

8,设置windows任务计划程序

打开控制面板,查看方式大图标,点击管理工具

快捷键:

  • Win+R”打开运行窗口。

  • 接着在窗口输入栏输入“control”

e7d69837ded9e0653b7e760a8a5cffb7.png

点击任务计划程序

d9ce1fa24fe5a86bb9c40f28e8465642.png

点击创建任务

34aa9df5ab8e60432907dde111b908c9.png

常规

1bd4615930bc3dc9da0ade5816f5b556.png

触发器,设置执行时间

f16129796ba81d75870674513b48012a.png

操作,选择创建看好的Batch文件

b6fe04d9b5dd18de6a384abce4fe2cbe.png

最后确定保存即可。

可以等待时间看执行结果,也可以直接点击运行,看效果。

3b7bcbf16b8e0b0f23fe08dbbed59156.png

2020/08/13 14:43

9c7146da67bdeda24b4cabfd82f0c3e6.png

立即执行了,没有问题。

另外一个Batch文件也是同样的操作。

d1bd608eee8dc1f1cf2722913c49fb5a.png

主要是更改Batch的文件名称。可以自己设置时间,比如是前一个Batch执行后的几分钟,几小时等等。

这里为了看效果我设置比较近的时间。

可以先单独执行一次,看看刚才第一个Batch执行后的文件是否更改名称。

c653db2ae361a83f5bbbab1496d0a24e.png

点击运行,ba972e30a17a8a714a2c80b2d0510f83.png

刚才的文件名称成功被修改。

9,最后设置自动执行时间。

accountBatch.bat

执行时间设置为14:56

c9ee7f29dc80df2df52d6baf45255bda.png

accountBatchRename.bat

执行时间设置为15:08

9b09f16a4846db6d270965a60e13bf29.png

然后看一下效果

accountBatch.bat OK了

2f0557a5e10d34b6d742d6b6a1227fff.png

等几分钟,看文件名称是否改变。

喝杯咖啡哈哈,,,

f573a90f588fb490365e7946ff9e94a9.png

没问题了。

录了视频。感受变化的一瞬间。别眨眼哦。

视频播放器

官方参考链接:

https://help.salesforce.com/articleView?id=000331524&language=ja&type=1&mode=1

嗯,差不多了,总结这个也是折腾半天,希望可以帮助到有这个需求的人!

我在故我思,我思故我在。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值