All Projects → neowit → backup-force.com

neowit / backup-force.com

Licence: other
Export and backup salesforce.com Database locally

Programming Languages

scala
5932 projects

Projects that are alternatives of or similar to backup-force.com

NebulaFramework
A development framework for Salesforce's Apex language & the Force.com platform
Stars: ✭ 28 (-6.67%)
Mutual labels:  salesforce, sfdc
apexmock
force.com Mock data and fixtures for Apex Unit Tests
Stars: ✭ 24 (-20%)
Mutual labels:  salesforce, sfdc
apex-mocks-stress-test
Testing out FFLib versus Crud / CrudMock
Stars: ✭ 47 (+56.67%)
Mutual labels:  salesforce, sfdc
sfdc-generate-data-dictionary
Generate data dictionary from a Salesforce Org. This tool can also generate a file that can be imported in Lucidchart to define entities and relationships.
Stars: ✭ 36 (+20%)
Mutual labels:  salesforce, sfdc
apex-dml-mocking
DML mocking, CRUD mocking, dependency injection framework for Salesforce.com (SFDC) using Apex
Stars: ✭ 38 (+26.67%)
Mutual labels:  salesforce, sfdc
ansible-role-borgbackup
No description or website provided.
Stars: ✭ 13 (-56.67%)
Mutual labels:  backup
mup-data-backup
MongoDB backup and restore which is deployed via mup.
Stars: ✭ 27 (-10%)
Mutual labels:  backup
fb-export
Export (most) of your Facebook data using Node.js and the Graph API.
Stars: ✭ 21 (-30%)
Mutual labels:  backup
cylon-deb
TUI menu driven bash shell script to update and maintain a Debian based Linux distro.
Stars: ✭ 23 (-23.33%)
Mutual labels:  backup
artefactory-connectors-kit
ACK is an E(T)L tool specialized in API data ingestion. It is accessible through a Command-Line Interface. The application allows you to easily extract, stream and load data (with minimum transformations), from the API source to the destination of your choice.
Stars: ✭ 34 (+13.33%)
Mutual labels:  salesforce
elasticsearch-shell-backup
Elasticsearch 2, 5 shell script backup utils.
Stars: ✭ 18 (-40%)
Mutual labels:  backup
Apex-Integration-Services
Apex REST Callouts, Apex SOAP Callouts, Apex Web Services
Stars: ✭ 36 (+20%)
Mutual labels:  salesforce
aws-utils
This repository provides utilities which are used at MiQ.
Stars: ✭ 20 (-33.33%)
Mutual labels:  backup
iOS-Restrictions-Recovery
Can find the Restrictions or Screen Time passcode of any iOS 7.0-12.5.5 device. iOS 13 and 14 should work in theory, but Keychain-Dumper is very hit or miss on those versions
Stars: ✭ 50 (+66.67%)
Mutual labels:  backup
note
just note , take down what ever i want
Stars: ✭ 62 (+106.67%)
Mutual labels:  backup
borgjs
📦 A tiny wrapper for BorgBackup to automate your backup workflow
Stars: ✭ 31 (+3.33%)
Mutual labels:  backup
lwc-soql-builder
Awesome SOQL execution tool developed in Lightning Web Components Open Source
Stars: ✭ 85 (+183.33%)
Mutual labels:  salesforce
siteshooter
📷 Automate full website screenshots and PDF generation with multiple viewport support.
Stars: ✭ 63 (+110%)
Mutual labels:  salesforce
dcs-tools
Tools for making remote Linux node management easy
Stars: ✭ 34 (+13.33%)
Mutual labels:  backup
gh stars export
Exports list of all your starred Github repos to a json file
Stars: ✭ 27 (-10%)
Mutual labels:  backup

backup-force.com

The backup-force.com is a command line tool for automated backups as well as configurable data retrieval from salesforce. It uses Force.com Web Services/SOAP API and/or Bulk API.
Amongst other things this tool overcomes a well known shortcoming of Apex DataLoader - with backup-force.com you can automate incremental data retrieval for Objects that support LastModifiedDate.
Data is retrieved in .csv format.

Usage examples:

  • Backup all (or specific) data from all salesforce objects into .csv files
  • Incremental Backup - backup data from all or specific objects modified since previous backup
  • Extract data (full or incremental) from a list of all/specified objects and post-process each resulting .csv file using user defined scripts
    See Wiki/Recipes and ./config/sample-configuration.properties file for further inspiration.

System requirements

Java JDK/JRE, Version 6.1 or greater

Running

  • Visit releases page and download backup-force.com-<version>.jar
  • create config file using ./config/sample-configuration.properties as an example
  • execute process (in this example I use version 0.1)
    java -jar backup-force.com-0.1.jar --config /full/path/to/myconf.properties
    or if you want to direct output to a file instead of console:
    java -jar backup-force.com-0.1.jar --config /full/path/to/myconf.properties > log.txt

Video instructions

  • Installation - describes initial installation and first launch
  • Basic config example - an example of backup-force.com configuration to extract/backup data from 2 selected Salesforce.com objects
  • see Wiki for further information

Features

  • Extract full content of selected or All objects
  • Specify global or per object-type WHERE clause
  • Wildcard * support for easy field list definition, e.g. select * from Account, as well as to include all objects without listing them, e.g. backup.objects=*
    • field wildcard is particularly useful because it makes your config resistant to Org config changes (e.g. field removed/added)
  • Config file is order of magnitude smaller and simpler than process-conf.xml used by Apex DataLoader.
    Here is an example of full config (excluding login credentials) which allows to extract 3 fields from Accounts, all fields from Opportunities with Amount > 100 and all fields from all Contacts into 3 separate .csv files:
    outputFolder=/home/user/extract
    backup.objects=Account, Contact, Opportunity
    backup.soql.Account=select Id, Name, Description from Account
    backup.soql.Opportunity=select * from Opportunity where Amount > 100
  • Incremental data retrieval for Objects that support LastModifiedDate field
    See $Object.LastModifiedDate in ./config/sample-configuration.properties
  • Multiple config files
    In some cases you may want to re-use same connection details with multiple extract/backup configurations. For such cases you can specify more than one --config parameters on the command line. Values from all specified config files will be merged (if there are conflicts then last config wins). For example
    … --config ./extract.properties --config ./connection.properties
  • Shell Expressions evaluation - shell commands can be embedded in all config values in order to make configuration more dynamic, for example, here is how you could define dynamically created output folder for daily incremental extract/backup:
    outputFolder=/home/user/extract/\`date +%Y%m%d-%H%M\`

Note: on systems that do not have Unix [date](http://en.wikipedia.org/wiki/Date_(Unix) utility (e.g. MS Windows) you may need to use an alternative, e.g. date.exe from UnixUtils).

  • Hooks - execute user defined scripts
    • before/after main process start
    • before/after each object type
      Using hooks you can specify custom scripts to archive retrieved .csv files, write custom log events, validate results, etc. See ./config/sample-configuration.properties

Limitations

Current version will report java.lang.OutOfMemoryError (same as Apex DataLoader) on large files. In some cases this can be mitigated by increasing java heap size, e.g. to make it 2048MB (assuming your computer has enough RAM) use java -Xmx2048m -jar ….
However it may still fail on retrieval of Chatter/Content/Files (ContentVersion object) when they are tens of megabytes in size.
Present workaround (if your Org has very large files 20MB+ and the above trick with -Xmx parameter does not work if your machine does not have enough RAM) is to limit the the file size in a config query, e.g.
backup.soql.ContentVersion=select * from ContentVersion where ContentSize < 20000000

Building backup-force.com

git clone [email protected]:neowit/backup-force.com.git
mvn clean package

Legal stuff

Copyright (c) 2013, Andrey Gavrikov. All rights reserved.

License: LGPL v3 http://www.gnu.org/licenses/

Third-Party Licenses:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].