/[smecontribs]/rpms/smeserver-automysqlbackup/contribs9/smeserver-automysqlbackup.spec
ViewVC logotype

Diff of /rpms/smeserver-automysqlbackup/contribs9/smeserver-automysqlbackup.spec

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

Revision 1.1 by unnilennium, Tue Jun 17 19:01:17 2014 UTC Revision 1.8 by jpp, Tue Nov 26 03:40:46 2019 UTC
# Line 1  Line 1 
1  %define name smeserver-automysqlbackup  %define name smeserver-automysqlbackup
2  %define version 3.0.RC7  %define version 3.0.RC6
3  %define release 1  %define release 12
4  %define rpmver   3.0.RC6  %define rpmver   3.0.RC6
5    
6    epoch: 2
7  Summary:            automysqlbackup is a script to backup your msql database on sme8  Summary:            automysqlbackup is a script to backup your msql database on sme8
8  Name:               %{name}  Name:               %{name}
9  Version:            %{version}  Version:            %{version}
# Line 14  Source:             %{name}-%{version}.t Line 14  Source:             %{name}-%{version}.t
14  URL:                http://sourceforge.net/projects/automysqlbackup/  URL:                http://sourceforge.net/projects/automysqlbackup/
15  BuildRoot:          /var/tmp/%{name}-%{version}-%{release}-buildroot  BuildRoot:          /var/tmp/%{name}-%{version}-%{release}-buildroot
16  BuildArchitectures: noarch  BuildArchitectures: noarch
17  Requires:           e-smith-base, e-smith-release >= 8  Requires:           e-smith-base, e-smith-release >= 9
18  Requires:               pax  Requires:               pax
19  Requires: automysqlbackup  Requires: automysqlbackup
20  BuildRequires:      e-smith-devtools  BuildRequires:      e-smith-devtools
21    Patch0: smeserver-automysqlbackup-AdjustableCronJob.patch
22    Patch1: smeserver-automysqlbackup-enhanced-templates.patch
23    Patch2: smeserver-automysqlbackup-fix-runmysql.patch
24    Patch3: smeserver-automysqlbackup-update-permission-change.patch
25    Patch4: smeserver-automysqlbackup-3.0.RC6-bz10806.errorsAndCreateUsers.patch
26    
27  %description  %description
28  This RPM is an unofficial addon for the SME Server 8.x.    This RPM is an unofficial addon for the SME Server 9.x.  
29  The target audience is the Linux/E-smith administrator  The target audience is the Linux/E-smith administrator
30  who wants to backup their mysql databases with an automatic way.  who wants to backup their mysql databases with an automatic way.
31  This script is based on automysqlbackup V3.0  This script is based on automysqlbackup V3.0
# Line 28  This script is based on automysqlbackup Line 33  This script is based on automysqlbackup
33    
34    
35  %changelog  %changelog
36  * Mon Jun 16 2014 JP Pialasse <tests@pialasse.com> 3.0.RC7-1.sme  * Sun Sep 22 2019 Jean-Philipe Pialasse <tests@pialasse.com> 3.0.RC6-12.sme
37  - initial import to SME9 contribs  - fix multiple cause of error noise and performance [SME: 10806]
38      * avoid parallel run of all backups, cron template rewritten
39      * avoid multiple parallel or repeated chmod and chown
40      * protect from undesired chmod or chown
41      * consistent use of status for cron and conf templates
42      * create backup user for mysql, mysql55 and mysql57 (Maria to do)
43      * update mysql53 use to mysql51 as variable
44      * migrate fragment to remove Mysql55 Mysql57 Mymaria Mysql53 if Mysql53 exist
45      * remove default value in db for  Mysql55 Mysql57 Mymaria Mysql53
46      * default as enabled in fragments for all automysql My* properties
47    - create default user in dbs [SME: 10808]
48    
49    * Mon Nov 26 2018 John Crisp <jcrisp@safeandsoundit.co.uk> 3.0.RC6-11.sme
50    - fix runmysqlscript to allow for change in Backupdir key [SME: 10655]
51    
52    * Mon Nov 26 2018 John Crisp <jcrisp@safeandsoundit.co.uk> 3.0.RC6-10.sme
53    - fix runmysqlbackup to allow for new databases [SME: 10654]
54    
55    * Fri Jul 06 2018 John Crisp <jcrisp@safeandsoundit.co.uk> 3.0.RC6-9.sme
56    - Template configuration files
57    - run automysqlbackup per conf directly from cron rather than runmysqlbackup
58    - Add extra DB keys for mysql53, mysql55, mysql57
59    
60    * Sun Apr 02 2017 stephane de Labrusse <stephdl@de-labrusse.fr> 3.0.RC6-8.sme
61    - Added smeserver-automysqlbackup-AdjustableCronJob.patch
62    - The time to run the Job is adjustable
63    
64    * Wed Sep 16 2015 stephane de Labrusse <stephdl@de-labrusse.fr> 3.0.RC6-6.sme
65    - Added 'epoch: 2'
66    
67    * Sat Aug 22 2015 stephane de Labrusse <stephdl@de-labrusse.fr> 3.0.RC6-5.sme
68    - Initial release to contribs9
69    
70    * Sun Aug 17 2014 Stephane de Labrusse <stephdl@de-labrusse.fr> 3.0.RC6-4
71    - added my own patch against the --events warning
72    --Warning: Skipping the data of table mysql.event. Specify the --events option explicitly.
73    
74  * Sun Oct 27 2013 Stephane de Labrusse <stephdl@de-labrusse.fr> 3.0.RC6.3  * Sun Oct 27 2013 Stephane de Labrusse <stephdl@de-labrusse.fr> 3.0.RC6.3
75  - split the contrib in two versions smeserver-automysqlbackup and automysqlbackup  - split the contrib in two versions smeserver-automysqlbackup and automysqlbackup
# Line 42  This script is based on automysqlbackup Line 82  This script is based on automysqlbackup
82  rm -rf $RPM_BUILD_ROOT  rm -rf $RPM_BUILD_ROOT
83    
84  %setup  %setup
85    %patch0 -p1
86    %patch1 -p1
87    %patch2 -p1
88    %patch3 -p1
89    %patch4 -p1
90    
91  %build  %build
92    perl createlinks
93    
94  %install  %install
95  /bin/rm -rf $RPM_BUILD_ROOT  /bin/rm -rf $RPM_BUILD_ROOT
96  (/usr/bin/find . -depth -print | /bin/cpio -dump $RPM_BUILD_ROOT)  (cd root   ;/usr/bin/find . -depth -print | /bin/cpio -dump $RPM_BUILD_ROOT)
97  /bin/rm -f %{name}-%{version}-filelist  /bin/rm -f %{name}-%{version}-filelist
98  /sbin/e-smith/genfilelist $RPM_BUILD_ROOT > %{name}-%{version}-filelist  /sbin/e-smith/genfilelist $RPM_BUILD_ROOT \
99    --file /sbin/e-smith/runmysqlbackup 'attr(0750,root,root)' \
100    > %{name}-%{version}-filelist
101    
102    
103  %files -f %{name}-%{version}-filelist  %files -f %{name}-%{version}-filelist
# Line 66  SMEDB=automysqlbackup Line 114  SMEDB=automysqlbackup
114  MYSQLUSER=backupuser  MYSQLUSER=backupuser
115  # Expland template  # Expland template
116  /etc/e-smith/events/actions/initialize-default-databases  /etc/e-smith/events/actions/initialize-default-databases
117    /sbin/e-smith/expand-template /etc/cron.d/runmysqlbackup
118    
119  echo "========================================================================================="  echo "***********************************************************************"
120  echo "  Your Databases are saved in /root/backup/db "  echo "  "
121  echo "  only Root can access to these folders"                          echo "Creating backup user for default mysql53 database"
 echo "  a mail is send to Admin for all logs "  
 echo " "                                                                    
 echo "  Configuration file is /etc/automysqlbackup/myserver.conf"  
 echo " "  
 echo "  For a manual play you can use directly"  
 echo "  automysqlbackup /etc/automysqlbackup/myserver.conf "  
 echo "  else backups are done every night at 04H00 AM with /etc/cron.daily/runmysqlbackup"  
 echo "========================================================================================="  
 echo "  RESTORING"  
 echo "  In a root terminal"  
 echo "  cd /root/backup/db/ and choose your backup"  
 echo "  gunzip file-name.sql.gz"  
 echo "  Next you will need to use the mysql client to restore the DB from the sql file."  
 echo "  mysql database < /path/file.sql"  
 echo "  NOTE: Make sure you use < and not > in the above command because you are piping the file.sql"  
 echo "  to mysql and not the other way around"  
 echo "========================================================================================="  
 echo "  Some db configuration for handle this contrib"  
 echo "  Mailcontent (stdout/log/files/quiet)"  
 echo "  # What would you like to be mailed to you?"  
 echo "  # - log   : send only log file (default)"  
 echo "  # - files : send log file and sql files as attachments (see docs)"  
 echo "  #- stdout : will simply output the log to the screen if run manually."  
 echo "  #- quiet : Only send logs if an error occurs to the MAILADDR."  
 echo "  Sizemail=8000 (bytes)"  
 echo "  Mailto=root (or any other user@domaine.com)"  
 echo "  Backupdir=path to the folder where mysql files are saved"  
 echo " "  
 echo "  ex: config setprop automysqlbackup Mailcontent files"  
 echo "========================================================================================="  
   
   
   
122  #create backupuser and give rights  #create backupuser and give rights
123  MYSQLPASS=$(/sbin/e-smith/config getprop $SMEDB DbPassword)  MYSQLPASS=$(/sbin/e-smith/config getprop $SMEDB DbPassword)
124  mysql -e " GRANT SELECT,LOCK TABLES ON *.* TO $MYSQLUSER@'localhost' "  mysql -e " GRANT EVENT,SELECT,LOCK TABLES ON *.* TO $MYSQLUSER@'localhost' "
125  mysql -u root -e "SET PASSWORD FOR $MYSQLUSER@localhost = PASSWORD( '$MYSQLPASS' ) "  mysql -u root -e "SET PASSWORD FOR $MYSQLUSER@localhost = PASSWORD( '$MYSQLPASS' ) "
126  mysqladmin flush-privileges  mysqladmin flush-privileges
127  /etc/rc.d/init.d/mysql.init start  /etc/rc.d/init.d/mysql.init start
128    echo "done"
129    echo "*** If you add mysql55/mysql57 you must add a backup user ***"
130    echo "You can use the password from config show automysqlbackup"
131    echo "e.g.: "
132    echo "mysql55 -e \" GRANT EVENT,SELECT,LOCK TABLES ON *.* TO $MYSQLUSER@\'localhost\' \" "
133    echo "mysql55 -u root -e \"SET PASSWORD FOR $MYSQLUSER@localhost = PASSWORD( \'$MYSQLPASS\' ) \" "
134    echo "  "
135    echo "***********************************************************************"
136    
137  #protect the backup folder  #protect the backup folder
138  chmod -R 700 /root/backup/db  chmod -R 700 /root/backup/db
# Line 119  if [ $1 = 0 ] ; then Line 143  if [ $1 = 0 ] ; then
143  SMEDB=automysqlbackup  SMEDB=automysqlbackup
144  MYSQLUSER=backupuser  MYSQLUSER=backupuser
145  echo "======================================================================="  echo "======================================================================="
146  echo "  delete mysql user and revoque all permissions"  echo "  "
147    echo "  delete mysql user and revoke all permissions"
148  # This section deletes backupuser  # This section deletes backupuser
149  mysql -u root -e "REVOKE ALL PRIVILEGES ON *.* FROM '$MYSQLUSER'@'localhost';"  mysql -u root -e "REVOKE ALL PRIVILEGES ON *.* FROM '$MYSQLUSER'@'localhost';"
150  mysql -u root -e "DROP USER $MYSQLUSER@localhost;"  mysql -u root -e "DROP USER $MYSQLUSER@localhost;"
151  echo "  "  echo "  "
152    echo "Do that for each DB - e.g mysq55, mysql57 etc"
153    echo "  "
154  # Delete custom template fragment  # Delete custom template fragment
155  echo "  delete db configuration automysqlbackup"  echo "  delete db configuration automysqlbackup"
156    echo "  "
157  echo "======================================================================="  echo "======================================================================="
158    
159  /sbin/e-smith/config delete $SMEDB  /sbin/e-smith/config delete $SMEDB


Legend:
Removed lines/characters  
Changed lines/characters
  Added lines/characters

admin@koozali.org
ViewVC Help
Powered by ViewVC 1.2.1 RSS 2.0 feed