Community mailing list archives

community@mail.odoo.com

Re: SUMMARY: SEEKING: Method to script backups of Odoo v9 - also include filestore (anything else??)

by
SISalp
- 01/03/2016 17:16:59
Peter,

you will likely find something lighter to extract names, and and
filtering on role.
/usr/bin/psql -l | grep " $ErpRole " | cut -d"|" -f1 | xargs

2016-01-03 18:52 GMT+01:00 Peter Langenberg <peter.langenberg@bubbles-it.be>:
> Hi,
>
> Sorry I was to late on this mail ...
>
> databases=`psql -U postgres -q -c "\l" | awk '{ print $1}' | grep -vE
> '^\||^-|^List|^Name|postgres|^Name|template[0|1]|^\('`
>
>
> But would it be a problem to use :
>
> psql -U postgres -l
>
> instead of
>
> psql -U postgres -q -c "\l"
> (I get an error message when using 12.04, can be something else).
>
> and instead of
>
> gzip
>
> I use
>
> gzip -f ( I don't get a question to overwite when I start the script twice).
>
> Peter Langenberg
> Senior Odoo Consultant
>
> Volg op twitter via : @mylbco
> Adres : Luikstraat 67, 9160 Lokeren
>
>
> 2015-12-31 2:35 GMT+01:00 Ray Carnes <ray.carnes@bistasolutions.com>:
>>
>> Thanks to Stefan Rijnhart and Dominique Chabord (their replies, and my
>> original question are at the end of this email)
>>
>>
>>
>> I will be using the script below - rotating backups (keeps last 11) of all
>> databases on a specific server, with their filestore – (since the servers I
>> am moving from and to are all identically configured [highly recommended], I
>> won't need to worry about file permissions or different postgres users,
>> etc.).  It also bounces the postgres and odoo service.  I schedule it daily
>> via a cron for the postgres user.
>>
>>
>>
>> #!/bin/sh
>>
>> hostname=`hostname`
>>
>>
>>
>> ##########################################
>>
>> ##Odoo v9 Backup
>>
>> ##########################################
>>
>>
>>
>>
>> #############################################################################
>>
>> ##Add the following lines to the sudoers file, so postgres can restart the
>> services
>>
>> ##
>>
>> ##postgres        ALL=NOPASSWD: /usr/sbin/service odoo-server restart
>>
>> ##postgres        ALL=NOPASSWD: /usr/bin/service postgresql restart
>>
>>
>> #############################################################################
>>
>>
>>
>> # ReStart PostgreSQL
>>
>> sudo /usr/sbin/service postgresql restart
>>
>>
>>
>> # Dump DBs
>>
>> databases=`psql -U postgres -q -c "\l" | awk '{ print $1}' | grep -vE
>> '^\||^-|^List|^Name|postgres|^Name|template[0|1]|^\('`
>>
>> for db in ${databases}
>>
>> do
>>
>>   date=`date +"%m-%d-%Y"`
>>
>>   filename="/opt/backups/${hostname}_${db}_${date}.sql"
>>
>>   pg_dump -f $filename $db
>>
>>   gzip $filename
>>
>>   filename2="/opt/backups/${hostname}_${db}_${date}.filestore.gz"
>>
>>   tar -zcvf $filename2 /home/odoo/.local/share/Odoo/filestore/$db
>>
>> done
>>
>>
>>
>> # ReStart Odoo Server
>>
>> sudo /usr/sbin/service odoo-server restart
>>
>>
>>
>> for file in `find /opt/backups/*.gz -mtime +10 -type f`
>>
>> do
>>
>>  rm $file
>>
>> done
>>
>>
>>
>>
>>
>> exit 0
>>
>>
>>
>>
>>
>> MY ORIGINAL QUESTION:
>>
>>
>>
>> Hi everyone.
>>
>>
>>
>> Is scripting a backup of Odoo v9 as simple as pg_dump and copying the
>> relevant filestore folder?
>>
>>
>>
>> 1.  pg_dump -E UTF-8 -F p -b -f $filename $database
>>
>> 2.  tar -zcvf filestore_$filename.gz $database
>>
>> 3.  move both to the new server, restore dump and folder and update
>> database ?
>>
>>
>>
>> Does anyone know (have experience or a verified method for doing this) ?
>>
>>
>>
>> I want to start testing how I can quickly move a database from one server
>> to another.
>>
>>
>>
>>
>>
>>
>>
>> STEFAN’S REPLY:
>>
>>
>>
>> Yes, that is all there is to it. I do it all the time, not between servers
>> per sé but in order to copy production environments to test instances
>> running under a different user account on the same server. If you download
>> apps from the apps store, include these from your .local/share/Odoo/addons/
>> directory.
>>
>>
>>
>>
>>
>> DOMINIQUE’S REPLY:
>>
>>
>>
>> > 1.  pg_dump -E UTF-8 -F p -b -f $filename $database
>>
>>
>>
>> in my scripts I use -O and -U options
>>
>>
>>
>> -E UTF-8 -F p -b  options should be useless
>>
>>
>>
>>
>>
>> > 2.  tar -zcvf filestore_$filename.gz $database
>>
>> >
>>
>>
>>
>> > 3.  move both to the new server, restore dump and folder and update
>> > database
>>
>> > ?
>>
>>
>>
>> if target database already exists, dropdb after closing all connections
>>
>> restoration with psql  and tar -xzf for the filestore
>>
>> change owner:group on filestore according to the new server
>>
>>
>>
>> depending on your context, you may have to synchronize/adapt some
>>
>> options in the server config file and also the modules that users can
>>
>> upload from the apps.
>>
>>
>>
>> A key point is to determine whether the copied database is a copy or a
>>
>> replacement of the main database. If a copy, the new database should
>>
>> not interface external applications (pop/imap, smtp, shop-connector
>>
>> etc...), if a replacement it should
>>
>>
>>
>> _______________________________________________
>> Mailing-List: https://www.odoo.com/groups/community-59
>> Post to: mailto:community@mail.odoo.com
>> Unsubscribe: https://www.odoo.com/groups?unsubscribe
>
>
> _______________________________________________
> Mailing-List: https://www.odoo.com/groups/community-59
> Post to: mailto:community@mail.odoo.com
> Unsubscribe: https://www.odoo.com/groups?unsubscribe