[Owncloud] Backup Owncloud Data, Calendars, and Contacts
Mark Symonds
mark at syminet.com
Wed Jun 5 18:38:29 UTC 2013
+1 for Bruno's excellent script there, the short version to do a quick
dump at any time:
mysqldump owncloudDB > owncloudDB.sql
…this is convenient to do right before say, an upgrade. If anything goes
really bad, simply restore it with:
cat owncloudDB.sql | mysql owncloudDB
Here, it is just a personal install so it is easy - I run the above command
up there to do mysqldumps via cronjob @midnight, into my data directory:
mysqldump owncloudDB > /path/to/my/data/owncloudDB.sql
The data directory is backed up remotely using backuppc, so at any time
everything can be quickly restored from a snapshot. :-)
--
Mark
On Jun 5, 2013, at 6:18 AM, owncloud_mailing_list at status.e4ward.com wrote:
> Thanks Bruno!
>
> One clarification: saving the database obviously doesn't save the data
> (i.e. files), but does it save every user's calendar and contacts? I
> guess I sort of thought the database was really only a indexer.
>
> Kyle
>
> On Wed, Jun 5, 2013 at 1:57 AM, Bruno Flückiger <bruno at bsdhowto.ch> wrote:
>> On 05.06.2013 01:38, owncloud_mailing_list at status.e4ward.com wrote:
>>>
>>> Hello all.
>>
>>
>> Hi Kyle
>>
>>
>>> I've seen a few mentions of this here and there, but nothing very
>>> well documented and most of it pretty old.
>>>
>>> I have a home server I've using to serve up owncloud (using mysql). I
>>> also have an external RAID storage device. I would like to
>>> periodically backup owncloud's data, calendars, and contacts for ALL
>>> users onto this external device. The data is easy since its held in a
>>> file structure, but what about calendars and contacts? How do I back
>>> them up and easily re-import them? The "Export this ownCloud instance"
>>> bit in the admin settings says it can export user data, database and
>>> system files. But how does this work, and does it also export
>>> calendars and contacts? How do I re-import them?
>>
>>
>> I use mysqldump in a script to make a daily backup of the owncloud database
>> and store it on my NAS device for backups. The script is scheduled via cron
>> to be execute each night. On the backup NAS I have a folder structure for
>> the dumps which keeps each dump for four weeks. Older dumps are
>> automatically
>> removed by the script.
>>
>> I can easily restore the content of the DB using phpMySQL which runs on the
>> same host as owncloud.
>>
>> This is a prototype of my script:
>>
>> #!/bin/sh
>>
>> dbhost=mysql
>> dbuser=backup
>> dbpw=OhSoSecret
>> backup=/media/backup/$dbhost/week1
>> level=`date +%u`
>>
>> mount | grep /media/backup > /dev/null
>>
>> if [ $? -eq 0 ] ; then
>> echo "Another backup is still in progress"
>> exit 1
>> fi
>>
>> mount -t nfs backup:/volume1/backup /media/backup
>>
>> if [ $? -ne 0 ] ; then
>> echo "Unable to mount backup share"
>> exit 2
>> fi
>>
>> if [ ! -d /media/backup/$dbhost ] ; then
>> mkdir /media/backup/$dbhost
>> if [ $? -ne 0 ] ; then
>> echo "Unable to create folder /media/backup/$dbhost"
>> umount /media/backup
>> exit 3
>> fi
>> fi
>>
>> if [ $level -eq 1 ] ; then
>> for i in 4 3 2 1; do
>> if [ -d /media/backup/$dbhost/week$i ] ; then
>> j=$(($i+1))
>> mv /media/backup/$dbhost/week$i `
>> /media/backup/$dbhost/week$j
>> fi
>> done
>> fi
>>
>> if [ ! -d $backup ] ; then
>> mkdir $backup
>> if [ $? -ne 0 ] ; then
>> echo "Unable to create folder $backup"
>> umount /media/backup
>> exit 4
>> fi
>> fi
>>
>> /usr/local/bin/mysqldump --host=$dbhost `
>> --user=$dbuser `
>> --password=$dbpw `
>> owncloud | `
>> /usr/local/bin/bzip2 -9 > `
>> $backup/$db.$level.sql.bz2
>>
>> if [ $? -ne 0 ] ; then
>> echo "Dump of owncloud db failed"
>> fi
>>
>> if [ -d /media/backup/$dbhost/week5 ] ; then
>> rm -rf /media/backup/$dbhost/week5
>> if [ $? -ne 0 ] ; then
>> echo "Unable to remove folder /media/backup/$dbhost/week5"
>> fi
>> fi
>>
>> umount /media/backup
>>
>> if [ $? -ne 0 ] ; then
>> echo "Unable to umount backup share"
>> exit 5
>> fi
>>
>> exit 0
>>
>>
>>
>>> I look forward to learning more about this! Thank you.
>>>
>>> Kyle
>>
>>
>> I hope this helps you.
>>
>> Bruno
>>
>> _______________________________________________
>> Owncloud mailing list
>> Owncloud at kde.org
>> https://mail.kde.org/mailman/listinfo/owncloud
> _______________________________________________
> Owncloud mailing list
> Owncloud at kde.org
> https://mail.kde.org/mailman/listinfo/owncloud
>
More information about the Owncloud
mailing list