@toniblyx at #SummitNow
Alfresco Backup and Recovery Tool: a real world backup solution
November 2013
Toni de la Fuente – Alfresco Senior Solutions [email protected]
blyx.com - @toniblyx
@toniblyx at #SummitNow
@toniblyx at #SummitNow
Who I am? @toniblyx• Alfresco Senior Solutions Engineer,
Americas• Working with Alfresco for 6 years• 3.5 years as part of the team• Former Consultant & Security Auditor:
ethical hacking, penetration tests.• And writing at blyx.com since 2002
@toniblyx at #SummitNow
@toniblyx at #SummitNow
Agenda
• Foundation Concepts• Alfresco Backup Overview• Backup and Restore Alfresco with
Alfresco BART
@toniblyx at #SummitNow
@toniblyx at #SummitNow
White Paper
Status:• Draft• On review
@toniblyx at #SummitNow
@toniblyx at #SummitNow
Backup and Disaster Recovery• Backup, Archiving, Disaster
Recovery• Why?• Business impact• RPO and RTO
@toniblyx at #SummitNow
@toniblyx at #SummitNow
Backup and Disaster Recovery• Methods• Full, incremental, differential
• Techniques• Cold, warm, hot•Window, rotation, destination
@toniblyx at #SummitNow
@toniblyx at #SummitNow
Geo Disaster Recovery
•DR Primary
BackupDisaster Recovery preparedness:
• Daily content backups
• Backup servers on standby
(active/passive)
• Regular backup and restore testing
@toniblyx at #SummitNow
@toniblyx at #SummitNow
Backup Procedure and Methods• What?• Static• Dynami
c• Order
+ Inst
all
+ Conf
ig
+ Cust
om
• Cold• Warm• Hot
@toniblyx at #SummitNow
@toniblyx at #SummitNow
Alfresco Backup Overview• Components• Scheduled jobs• Other scheduled jobs to consider
Physical Storage
Relational Database File SystemLucene or SOLRInstallation,
Config and logs files
system.content.orphanCleanup.cronExpression=0 0 4 * * ?system.content.orphanProtectDays=14system.content.eagerOrphanCleanup=false
@toniblyx at #SummitNow
@toniblyx at #SummitNow
Restore Procedure - User• Trashcan
@toniblyx at #SummitNow
@toniblyx at #SummitNow
Restore Procedure – Sys Admin
1. Installation2. Configuration3. Customization4. DB5. Content Store6. Indexes
@toniblyx at #SummitNow
@toniblyx at #SummitNow
Disaster Recovery
•DR
Active - Active
Active -
Passive
@toniblyx at #SummitNow
@toniblyx at #SummitNow
Alfresco BART• Description• Features• Concepts• Installation
• Usage• Disaster Recovery• Demo• TODO
@toniblyx at #SummitNow
@toniblyx at #SummitNow
Alfresco BART - Description• Alfresco Backups and Recovery
Tool written in shell script on top of Duplicity (Linux servers).• Local file system, FTP, SCP or
Amazon S3.• Indexes, data base, content
store and deployment and configuration files. • v0.2 at
http://blyx.com/alfresco-bart
@toniblyx at #SummitNow
@toniblyx at #SummitNow
mysqldump
Oracle imp/exp
pg_dump
Backup Policies
Indexes: Lucene /
Solr
Recovery commands & wizard
Full / Incremental
Backup
Major DBs Supported
S3, FTP, SCP, LocalCustom
Tape Volume Size
Single File Recovery
Geo Desaster Recovery Encryption
Bash + properties
Compress
GnuPG
librsync
NcFTP
Content Store
Selector Aware
Cluster Aware
Log Reporting
Alfresco BART - Features
Duplicity
PythonFabric Boto
Pip
@toniblyx at #SummitNow
@toniblyx at #SummitNow
Alfresco BART - Concepts• Full,
incremental• Backup sets• all• index (backup &
config)• db• Cs• files
• Dates• now, s, m, h, D,
W, M or Y• YYYY/MM/DD,
YYYY-MM-DD, MM/DD/YYYY, or MM-DD-YYYY
@toniblyx at #SummitNow
@toniblyx at #SummitNow
Alfresco BART - Installation• Dependences • python + duplicity + DB dump/export
• Create PGP key• Copy files to Alfresco “scripts” dir• Configure • alfresco-bart.properties
• Add to crontab*• "0 5 * * * /path/to/alfresco-bart.sh
backup"
@toniblyx at #SummitNow
@toniblyx at #SummitNow
Alfresco BART - UsageModes of work:• Backup: runs an incremental backup or a
full if first time• Restore: runs the restore, wizard if no
arguments• Verify: verifies the latest backup with
current files• Collection: shows all the backup sets in
the archive sorted by date and type (full or inc)
• List: lists the files currently backed up in the archive
@toniblyx at #SummitNow
@toniblyx at #SummitNow
Alfresco BART – Disaster Recovery
Procedure1. *Backup destination must be remote2. Install and configure Alfresco BART as
the source.3. Copy the directory ~/.gnupg from de
original server to the new one (if gpg encryption is used).
4. Run the recovery wizard or command as usual.
5. Enjoy restoring your disaster recovery environment.
@toniblyx at #SummitNow
@toniblyx at #SummitNow
Demo – Let’s Rock & Roll \m/
@toniblyx at #SummitNow
@toniblyx at #SummitNow
Alfresco BART - TODO• Documentation• Validators• Postgresql and Oracle single
repo file recovery• Admin panel configuration• Suggestions?
@toniblyx at #SummitNow
#SummitNow
FAQ• Windows Support?• Really large repositories?• Alfresco versions supported
@toniblyx at #SummitNow
#SummitNow
Any questions?
@toniblyx at #SummitNow
@toniblyx at #SummitNow
ConclusionsBackup thing my not be the most amazing task but… it
always could be worse!!
@toniblyx at #SummitNow
if [ $you = applause ];
then
echo “THANKS!”;
fi
Toni de la FuenteAlfresco Senior Solutions EngineerBlog: blyx.com Twitter: @ToniBlyx
@toniblyx at #SummitNow
Top Related