From dougsland at redhat.com Tue Apr 3 15:10:56 2012 Content-Type: multipart/mixed; boundary="===============6249634223001559819==" MIME-Version: 1.0 From: Douglas Landgraf To: devel at ovirt.org Subject: Re: [Engine-devel] Backing up the DB Date: Tue, 03 Apr 2012 16:10:46 -0400 Message-ID: <4F7B5946.7010108@redhat.com> In-Reply-To: 4F7ABEA1.6030409@redhat.com --===============6249634223001559819== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable This is a multi-part message in MIME format. --------------050900000407040807010508 Content-Type: text/plain; charset=3DISO-8859-1; format=3Dflowed Content-Transfer-Encoding: 7bit On 04/03/2012 05:10 AM, Livnat Peer wrote: > On 03/04/12 12:05, Eli Mesika wrote: >> >> ----- Original Message ----- >>> From: "Douglas Landgraf" >>> To: "Adam Litke" >>> Cc: engine-devel(a)ovirt.org, "Douglas Landgraf" >>> Sent: Monday, April 2, 2012 6:19:23 PM >>> Subject: Re: [Engine-devel] Backing up the DB >>> >>> >>> Hi, >>> >>> On 04/02/2012 09:20 AM, Adam Litke wrote: >>> >>> Hi all, >>> >>> I have a working development environment for ovirt-engine and I want >>> to verify >>> someone else's gerrit change. Is there a documented proceedure for >>> backing up >>> the engine db so that, after checking out the new code and updating >>> the db >>> schema, I can revert to my old code and DB (schema and data). >> You can use pg_dump for backup and psql for restore : >> >> backup: >> pg_dump -C -E UTF8 --column-inserts --disable-dollar-quoting --disable= -triggers -U postgres --format=3Dp -f >> >> restore: >> psql -U postgres -f template1 >> >> > Eli, > Can we have a script for backup and restore DB in the repo? > > I see we have backup_db.sql any use of it? > If you guys are interested, I have updated the tool to work with = systemctl/enginedb and tested under Fedora 16: Here my use: # mkdir /engine-backup-db # chmod +x engine-db-tool.py backup manually =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D ./engine-db-tool.py --backup --path=3D/engine-db-backup Stopping jboss-as service... Backuping database: = /engine-db-backup/dump_RHEVDB_BACKUP_2012-04-03-15:05.sql Starting jboss-as service... Done restore manually =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D # ./engine-db-tool.py --restore = --path=3D/engine-db-backup/dump_RHEVDB_BACKUP_2012-04-03-15:05.sql Stopping jboss-as service... Restoring database: = /engine-db-backup/dump_RHEVDB_BACKUP_2012-04-03-15:05.sql Starting jboss-as service... Done Crontab =3D=3D=3D=3D=3D=3D=3D # crontab -e (adding to my crontab user) # Every day 18:00 backup db 00 18 * * * /path-to/engine-db-tool.py --backup --path=3D/engine-backup-db Download: = https://raw.github.com/dougsland/misc-rhev/master/engine-db-tool.py Thanks! -- = Cheers Douglas --------------050900000407040807010508 Content-Type: text/html; charset=3DISO-8859-1 Content-Transfer-Encoding: 7bit On 04/03/2012 05:10 AM, Livnat Peer wrote:
On 03/04/12 12:05, Eli Mesika wrote:

----- Original Message -----
From: "Douglas Landgraf" <dougsland(a)redhat.com=
>
To: "Adam Litke" <agl(a)us.ibm.com>
Cc: engine-devel(a)ovirt.org, "Douglas Landgraf" <dlandgra(a)redha=
t.com>
Sent: Monday, April 2, 2012 6:19:23 PM
Subject: Re: [Engine-devel] Backing up the DB


Hi,

On 04/02/2012 09:20 AM, Adam Litke wrote:

Hi all,

I have a working development environment for ovirt-engine and I want
to verify
someone else's gerrit change.  Is there a documented proceedure for
backing up
the engine db so that, after checking out the new code and updating
the db
schema, I can revert to my old code and DB (schema and data).
You can use pg_dump for backup and psql for restore :

backup:
pg_dump -C -E UTF8  --column-inserts --disable-dollar-quoting  --disable-tr=
iggers -U postgres --format=3Dp -f <backupfile>  <dbname>

restore:
psql -U postgres -f <backupfile>  template1


Eli,
Can we have a script for backup and restore DB in the repo?

I see we have backup_db.sql any use of it?

If you guys are interested, I have updated the tool to work with systemctl/enginedb and tested under Fedora 16:

Here my use:

# mkdir /engine-backup-db
# chmod +x engine-db-tool.py

backup manually
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
 ./engine-db-tool.py --backup --path=3D/engine-db-backup
Stopping jboss-as service...
Backuping database: /engine-db-backup/dump_RHEVDB_BACKUP_2012-04-03-15:05.sql
Starting jboss-as service...
Done


restore manually
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
# ./engine-db-tool.py --restore --path=3D/engine-db-backup/dump_RHEVDB_BACKUP_2012-04-03-15:05.sql
Stopping jboss-as service...
Restoring database: /engine-db-backup/dump_RHEVDB_BACKUP_2012-04-03-15:05.sql
Starting jboss-as service...
Done


Crontab
=3D=3D=3D=3D=3D=3D=3D
# crontab -e  (adding to my crontab user)

# Every day 18:00 backup db
00 18 * * * /path-to/engine-db-tool.py --backup --path=3D/engine-backup-db


Download: https://raw.github.com/dougsland/misc-rhev/master/engine-db-tool.py
Thanks!

-- =

Cheers
Douglas
--------------050900000407040807010508-- --===============6249634223001559819== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" VGhpcyBpcyBhIG11bHRpLXBhcnQgbWVzc2FnZSBpbiBNSU1FIGZvcm1hdC4KLS0tLS0tLS0tLS0t LS0wNTA5MDAwMDA0MDcwNDA4MDcwMTA1MDgKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PUlTTy04ODU5LTE7IGZvcm1hdD1mbG93ZWQKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzog N2JpdAoKT24gMDQvMDMvMjAxMiAwNToxMCBBTSwgTGl2bmF0IFBlZXIgd3JvdGU6Cj4gT24gMDMv MDQvMTIgMTI6MDUsIEVsaSBNZXNpa2Egd3JvdGU6Cj4+Cj4+IC0tLS0tIE9yaWdpbmFsIE1lc3Nh Z2UgLS0tLS0KPj4+IEZyb206ICJEb3VnbGFzIExhbmRncmFmIjxkb3Vnc2xhbmRAcmVkaGF0LmNv bT4KPj4+IFRvOiAiQWRhbSBMaXRrZSI8YWdsQHVzLmlibS5jb20+Cj4+PiBDYzogZW5naW5lLWRl dmVsQG92aXJ0Lm9yZywgIkRvdWdsYXMgTGFuZGdyYWYiPGRsYW5kZ3JhQHJlZGhhdC5jb20+Cj4+ PiBTZW50OiBNb25kYXksIEFwcmlsIDIsIDIwMTIgNjoxOToyMyBQTQo+Pj4gU3ViamVjdDogUmU6 IFtFbmdpbmUtZGV2ZWxdIEJhY2tpbmcgdXAgdGhlIERCCj4+Pgo+Pj4KPj4+IEhpLAo+Pj4KPj4+ IE9uIDA0LzAyLzIwMTIgMDk6MjAgQU0sIEFkYW0gTGl0a2Ugd3JvdGU6Cj4+Pgo+Pj4gSGkgYWxs LAo+Pj4KPj4+IEkgaGF2ZSBhIHdvcmtpbmcgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgZm9yIG92 aXJ0LWVuZ2luZSBhbmQgSSB3YW50Cj4+PiB0byB2ZXJpZnkKPj4+IHNvbWVvbmUgZWxzZSdzIGdl cnJpdCBjaGFuZ2UuICBJcyB0aGVyZSBhIGRvY3VtZW50ZWQgcHJvY2VlZHVyZSBmb3IKPj4+IGJh Y2tpbmcgdXAKPj4+IHRoZSBlbmdpbmUgZGIgc28gdGhhdCwgYWZ0ZXIgY2hlY2tpbmcgb3V0IHRo ZSBuZXcgY29kZSBhbmQgdXBkYXRpbmcKPj4+IHRoZSBkYgo+Pj4gc2NoZW1hLCBJIGNhbiByZXZl cnQgdG8gbXkgb2xkIGNvZGUgYW5kIERCIChzY2hlbWEgYW5kIGRhdGEpLgo+PiBZb3UgY2FuIHVz ZSBwZ19kdW1wIGZvciBiYWNrdXAgYW5kIHBzcWwgZm9yIHJlc3RvcmUgOgo+Pgo+PiBiYWNrdXA6 Cj4+IHBnX2R1bXAgLUMgLUUgVVRGOCAgLS1jb2x1bW4taW5zZXJ0cyAtLWRpc2FibGUtZG9sbGFy LXF1b3RpbmcgIC0tZGlzYWJsZS10cmlnZ2VycyAtVSBwb3N0Z3JlcyAtLWZvcm1hdD1wIC1mPGJh Y2t1cGZpbGU+ICAgPGRibmFtZT4KPj4KPj4gcmVzdG9yZToKPj4gcHNxbCAtVSBwb3N0Z3JlcyAt ZjxiYWNrdXBmaWxlPiAgIHRlbXBsYXRlMQo+Pgo+Pgo+IEVsaSwKPiBDYW4gd2UgaGF2ZSBhIHNj cmlwdCBmb3IgYmFja3VwIGFuZCByZXN0b3JlIERCIGluIHRoZSByZXBvPwo+Cj4gSSBzZWUgd2Ug aGF2ZSBiYWNrdXBfZGIuc3FsIGFueSB1c2Ugb2YgaXQ/Cj4KSWYgeW91IGd1eXMgYXJlIGludGVy ZXN0ZWQsIEkgaGF2ZSB1cGRhdGVkIHRoZSB0b29sIHRvIHdvcmsgd2l0aCAKc3lzdGVtY3RsL2Vu Z2luZWRiIGFuZCB0ZXN0ZWQgdW5kZXIgRmVkb3JhIDE2OgoKSGVyZSBteSB1c2U6CgojIG1rZGly IC9lbmdpbmUtYmFja3VwLWRiCiMgY2htb2QgK3ggZW5naW5lLWRiLXRvb2wucHkKCmJhY2t1cCBt YW51YWxseQo9PT09PT09PT09PT09CiAgLi9lbmdpbmUtZGItdG9vbC5weSAtLWJhY2t1cCAtLXBh dGg9L2VuZ2luZS1kYi1iYWNrdXAKU3RvcHBpbmcgamJvc3MtYXMgc2VydmljZS4uLgpCYWNrdXBp bmcgZGF0YWJhc2U6IAovZW5naW5lLWRiLWJhY2t1cC9kdW1wX1JIRVZEQl9CQUNLVVBfMjAxMi0w NC0wMy0xNTowNS5zcWwKU3RhcnRpbmcgamJvc3MtYXMgc2VydmljZS4uLgpEb25lCgoKcmVzdG9y ZSBtYW51YWxseQo9PT09PT09PT09PT09CiMgLi9lbmdpbmUtZGItdG9vbC5weSAtLXJlc3RvcmUg Ci0tcGF0aD0vZW5naW5lLWRiLWJhY2t1cC9kdW1wX1JIRVZEQl9CQUNLVVBfMjAxMi0wNC0wMy0x NTowNS5zcWwKU3RvcHBpbmcgamJvc3MtYXMgc2VydmljZS4uLgpSZXN0b3JpbmcgZGF0YWJhc2U6 IAovZW5naW5lLWRiLWJhY2t1cC9kdW1wX1JIRVZEQl9CQUNLVVBfMjAxMi0wNC0wMy0xNTowNS5z cWwKU3RhcnRpbmcgamJvc3MtYXMgc2VydmljZS4uLgpEb25lCgoKQ3JvbnRhYgo9PT09PT09CiMg Y3JvbnRhYiAtZSAgKGFkZGluZyB0byBteSBjcm9udGFiIHVzZXIpCgojIEV2ZXJ5IGRheSAxODow MCBiYWNrdXAgZGIKMDAgMTggKiAqICogL3BhdGgtdG8vZW5naW5lLWRiLXRvb2wucHkgLS1iYWNr dXAgLS1wYXRoPS9lbmdpbmUtYmFja3VwLWRiCgoKRG93bmxvYWQ6IApodHRwczovL3Jhdy5naXRo dWIuY29tL2RvdWdzbGFuZC9taXNjLXJoZXYvbWFzdGVyL2VuZ2luZS1kYi10b29sLnB5CgpUaGFu a3MhCgotLSAKQ2hlZXJzCkRvdWdsYXMKCgotLS0tLS0tLS0tLS0tLTA1MDkwMDAwMDQwNzA0MDgw NzAxMDUwOApDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xCkNvbnRl bnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQKCjxodG1sPgogIDxoZWFkPgogICAgPG1ldGEgY29u dGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiCiAgICAgIGh0dHAtZXF1aXY9IkNv bnRlbnQtVHlwZSI+CiAgPC9oZWFkPgogIDxib2R5IGJnY29sb3I9IiNGRkZGRkYiIHRleHQ9IiMw MDAwMDAiPgogICAgT24gMDQvMDMvMjAxMiAwNToxMCBBTSwgTGl2bmF0IFBlZXIgd3JvdGU6CiAg ICA8YmxvY2txdW90ZSBjaXRlPSJtaWQ6NEY3QUJFQTEuNjAzMDQwOUByZWRoYXQuY29tIiB0eXBl PSJjaXRlIj4KICAgICAgPHByZSB3cmFwPSIiPk9uIDAzLzA0LzEyIDEyOjA1LCBFbGkgTWVzaWth IHdyb3RlOgo8L3ByZT4KICAgICAgPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSI+CiAgICAgICAgPHBy ZSB3cmFwPSIiPgoKLS0tLS0gT3JpZ2luYWwgTWVzc2FnZSAtLS0tLQo8L3ByZT4KICAgICAgICA8 YmxvY2txdW90ZSB0eXBlPSJjaXRlIj4KICAgICAgICAgIDxwcmUgd3JhcD0iIj5Gcm9tOiAiRG91 Z2xhcyBMYW5kZ3JhZiIgPGEgY2xhc3M9Im1vei10eHQtbGluay1yZmMyMzk2RSIgaHJlZj0ibWFp bHRvOmRvdWdzbGFuZEByZWRoYXQuY29tIj4mbHQ7ZG91Z3NsYW5kQHJlZGhhdC5jb20mZ3Q7PC9h PgpUbzogIkFkYW0gTGl0a2UiIDxhIGNsYXNzPSJtb3otdHh0LWxpbmstcmZjMjM5NkUiIGhyZWY9 Im1haWx0bzphZ2xAdXMuaWJtLmNvbSI+Jmx0O2FnbEB1cy5pYm0uY29tJmd0OzwvYT4KQ2M6IDxh IGNsYXNzPSJtb3otdHh0LWxpbmstYWJicmV2aWF0ZWQiIGhyZWY9Im1haWx0bzplbmdpbmUtZGV2 ZWxAb3ZpcnQub3JnIj5lbmdpbmUtZGV2ZWxAb3ZpcnQub3JnPC9hPiwgIkRvdWdsYXMgTGFuZGdy YWYiIDxhIGNsYXNzPSJtb3otdHh0LWxpbmstcmZjMjM5NkUiIGhyZWY9Im1haWx0bzpkbGFuZGdy YUByZWRoYXQuY29tIj4mbHQ7ZGxhbmRncmFAcmVkaGF0LmNvbSZndDs8L2E+ClNlbnQ6IE1vbmRh eSwgQXByaWwgMiwgMjAxMiA2OjE5OjIzIFBNClN1YmplY3Q6IFJlOiBbRW5naW5lLWRldmVsXSBC YWNraW5nIHVwIHRoZSBEQgoKCkhpLAoKT24gMDQvMDIvMjAxMiAwOToyMCBBTSwgQWRhbSBMaXRr ZSB3cm90ZToKCkhpIGFsbCwKCkkgaGF2ZSBhIHdvcmtpbmcgZGV2ZWxvcG1lbnQgZW52aXJvbm1l bnQgZm9yIG92aXJ0LWVuZ2luZSBhbmQgSSB3YW50CnRvIHZlcmlmeQpzb21lb25lIGVsc2UncyBn ZXJyaXQgY2hhbmdlLiAgSXMgdGhlcmUgYSBkb2N1bWVudGVkIHByb2NlZWR1cmUgZm9yCmJhY2tp bmcgdXAKdGhlIGVuZ2luZSBkYiBzbyB0aGF0LCBhZnRlciBjaGVja2luZyBvdXQgdGhlIG5ldyBj b2RlIGFuZCB1cGRhdGluZwp0aGUgZGIKc2NoZW1hLCBJIGNhbiByZXZlcnQgdG8gbXkgb2xkIGNv ZGUgYW5kIERCIChzY2hlbWEgYW5kIGRhdGEpLgo8L3ByZT4KICAgICAgICA8L2Jsb2NrcXVvdGU+ CiAgICAgICAgPHByZSB3cmFwPSIiPgpZb3UgY2FuIHVzZSBwZ19kdW1wIGZvciBiYWNrdXAgYW5k IHBzcWwgZm9yIHJlc3RvcmUgOgoKYmFja3VwOgpwZ19kdW1wIC1DIC1FIFVURjggIC0tY29sdW1u LWluc2VydHMgLS1kaXNhYmxlLWRvbGxhci1xdW90aW5nICAtLWRpc2FibGUtdHJpZ2dlcnMgLVUg cG9zdGdyZXMgLS1mb3JtYXQ9cCAtZiAmbHQ7YmFja3VwZmlsZSZndDsgICZsdDtkYm5hbWUmZ3Q7 CgpyZXN0b3JlOgpwc3FsIC1VIHBvc3RncmVzIC1mICZsdDtiYWNrdXBmaWxlJmd0OyAgdGVtcGxh dGUxCgoKPC9wcmU+CiAgICAgIDwvYmxvY2txdW90ZT4KICAgICAgPHByZSB3cmFwPSIiPgpFbGks CkNhbiB3ZSBoYXZlIGEgc2NyaXB0IGZvciBiYWNrdXAgYW5kIHJlc3RvcmUgREIgaW4gdGhlIHJl cG8/CgpJIHNlZSB3ZSBoYXZlIGJhY2t1cF9kYi5zcWwgYW55IHVzZSBvZiBpdD8KCjwvcHJlPgog ICAgPC9ibG9ja3F1b3RlPgogICAgSWYgeW91IGd1eXMgYXJlIGludGVyZXN0ZWQsIEkgaGF2ZSB1 cGRhdGVkIHRoZSB0b29sIHRvIHdvcmsgd2l0aAogICAgc3lzdGVtY3RsL2VuZ2luZWRiIGFuZCB0 ZXN0ZWQgdW5kZXIgRmVkb3JhIDE2Ojxicj4KICAgIDxicj4KICAgIEhlcmUgbXkgdXNlOjxicj4K ICAgIDxicj4KICAgICMgbWtkaXIgL2VuZ2luZS1iYWNrdXAtZGI8YnI+CiAgICAjIGNobW9kICt4 IGVuZ2luZS1kYi10b29sLnB5PGJyPgogICAgPGJyPgogICAgYmFja3VwIG1hbnVhbGx5PGJyPgog ICAgPT09PT09PT09PT09PTxicj4KICAgICZuYnNwOy4vZW5naW5lLWRiLXRvb2wucHkgLS1iYWNr dXAgLS1wYXRoPS9lbmdpbmUtZGItYmFja3VwPGJyPgogICAgU3RvcHBpbmcgamJvc3MtYXMgc2Vy dmljZS4uLjxicj4KICAgIEJhY2t1cGluZyBkYXRhYmFzZToKICAgIC9lbmdpbmUtZGItYmFja3Vw L2R1bXBfUkhFVkRCX0JBQ0tVUF8yMDEyLTA0LTAzLTE1OjA1LnNxbDxicj4KICAgIFN0YXJ0aW5n IGpib3NzLWFzIHNlcnZpY2UuLi48YnI+CiAgICBEb25lPGJyPgogICAgPGJyPgogICAgPGJyPgog ICAgcmVzdG9yZSBtYW51YWxseTxicj4KICAgID09PT09PT09PT09PT08YnI+CiAgICAjIC4vZW5n aW5lLWRiLXRvb2wucHkgLS1yZXN0b3JlCiAgICAtLXBhdGg9L2VuZ2luZS1kYi1iYWNrdXAvZHVt cF9SSEVWREJfQkFDS1VQXzIwMTItMDQtMDMtMTU6MDUuc3FsPGJyPgogICAgU3RvcHBpbmcgamJv c3MtYXMgc2VydmljZS4uLjxicj4KICAgIFJlc3RvcmluZyBkYXRhYmFzZToKICAgIC9lbmdpbmUt ZGItYmFja3VwL2R1bXBfUkhFVkRCX0JBQ0tVUF8yMDEyLTA0LTAzLTE1OjA1LnNxbDxicj4KICAg IFN0YXJ0aW5nIGpib3NzLWFzIHNlcnZpY2UuLi48YnI+CiAgICBEb25lPGJyPgogICAgPGJyPgog ICAgPGJyPgogICAgQ3JvbnRhYjxicj4KICAgID09PT09PT08YnI+CiAgICAjIGNyb250YWIgLWUm bmJzcDsgKGFkZGluZyB0byBteSBjcm9udGFiIHVzZXIpPGJyPgogICAgPGJyPgogICAgIyBFdmVy eSBkYXkgMTg6MDAgYmFja3VwIGRiPGJyPgogICAgMDAgMTggKiAqICogL3BhdGgtdG8vZW5naW5l LWRiLXRvb2wucHkgLS1iYWNrdXAKICAgIC0tcGF0aD0vZW5naW5lLWJhY2t1cC1kYjxicj4KICAg IDxicj4KICAgIDxicj4KICAgIERvd25sb2FkOgogICAgPG1ldGEgaHR0cC1lcXVpdj0iY29udGVu dC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7CiAgICAgIGNoYXJzZXQ9SVNPLTg4NTktMSI+CiAg ICA8YQpocmVmPSJodHRwczovL3Jhdy5naXRodWIuY29tL2RvdWdzbGFuZC9taXNjLXJoZXYvbWFz dGVyL2VuZ2luZS1kYi10b29sLnB5Ij5odHRwczovL3Jhdy5naXRodWIuY29tL2RvdWdzbGFuZC9t aXNjLXJoZXYvbWFzdGVyL2VuZ2luZS1kYi10b29sLnB5PC9hPjxicj4KICAgIDxicj4KICAgIFRo YW5rcyE8YnI+CiAgICA8YnI+CiAgICA8cHJlIGNsYXNzPSJtb3otc2lnbmF0dXJlIiBjb2xzPSI3 MiI+LS0gCkNoZWVycwpEb3VnbGFzPC9wcmU+CiAgPC9ib2R5Pgo8L2h0bWw+CgotLS0tLS0tLS0t LS0tLTA1MDkwMDAwMDQwNzA0MDgwNzAxMDUwOC0tCg== --===============6249634223001559819==--