/[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.3 by stephdl, Wed Sep 16 20:50:45 2015 UTC Revision 1.7 by jcrisp, Tue Nov 27 14:00:37 2018 UTC
# Line 1  Line 1 
1  %define name smeserver-automysqlbackup  %define name smeserver-automysqlbackup
2  %define version 3.0.RC6  %define version 3.0.RC6
3  %define release 6  %define release 11
4  %define rpmver   3.0.RC6  %define rpmver   3.0.RC6
5    
6  epoch: 2  epoch: 2
# 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    
26  %description  %description
27  This RPM is an unofficial addon for the SME Server 8.x.    This RPM is an unofficial addon for the SME Server 9.x.  
28  The target audience is the Linux/E-smith administrator  The target audience is the Linux/E-smith administrator
29  who wants to backup their mysql databases with an automatic way.  who wants to backup their mysql databases with an automatic way.
30  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 32  This script is based on automysqlbackup
32    
33    
34  %changelog  %changelog
35    * Mon Nov 26 2018 John Crisp <jcrisp@safeandsoundit.co.uk> 3.0.RC6-11.sme
36    - fix runmysqlscript to allow for change in Backupdir key [SME: 10655]
37    
38    * Mon Nov 26 2018 John Crisp <jcrisp@safeandsoundit.co.uk> 3.0.RC6-10.sme
39    - fix runmysqlbackup to allow for new databases [SME: 10654]
40    
41    * Fri Jul 06 2018 John Crisp <jcrisp@safeandsoundit.co.uk> 3.0.RC6-9.sme
42    - Template configuration files
43    - run automysqlbackup per conf directly from cron rather than runmysqlbackup
44    - Add extra DB keys for mysql53, mysql55, mysql57
45    
46    * Sun Apr 02 2017 stephane de Labrusse <stephdl@de-labrusse.fr> 3.0.RC6-8.sme
47    - Added smeserver-automysqlbackup-AdjustableCronJob.patch
48    - The time to run the Job is adjustable
49    
50  * Wed Sep 16 2015 stephane de Labrusse <stephdl@de-labrusse.fr> 3.0.RC6-6.sme  * Wed Sep 16 2015 stephane de Labrusse <stephdl@de-labrusse.fr> 3.0.RC6-6.sme
51  - Added 'epoch: 2'  - Added 'epoch: 2'
52    
# Line 49  This script is based on automysqlbackup Line 68  This script is based on automysqlbackup
68  rm -rf $RPM_BUILD_ROOT  rm -rf $RPM_BUILD_ROOT
69    
70  %setup  %setup
71    %patch0 -p1
72    %patch1 -p1
73    %patch2 -p1
74    %patch3 -p1
75    
76  %build  %build
77    perl createlinks
78    
79  %install  %install
80  /bin/rm -rf $RPM_BUILD_ROOT  /bin/rm -rf $RPM_BUILD_ROOT
81  (cd root   ;/usr/bin/find . -depth -print | /bin/cpio -dump $RPM_BUILD_ROOT)  (cd root   ;/usr/bin/find . -depth -print | /bin/cpio -dump $RPM_BUILD_ROOT)
82  /bin/rm -f %{name}-%{version}-filelist  /bin/rm -f %{name}-%{version}-filelist
83  /sbin/e-smith/genfilelist $RPM_BUILD_ROOT > %{name}-%{version}-filelist  /sbin/e-smith/genfilelist $RPM_BUILD_ROOT \
84    --file /sbin/e-smith/runmysqlbackup 'attr(0750,root,root)' \
85    > %{name}-%{version}-filelist
86    
87    
88  %files -f %{name}-%{version}-filelist  %files -f %{name}-%{version}-filelist
# Line 73  SMEDB=automysqlbackup Line 99  SMEDB=automysqlbackup
99  MYSQLUSER=backupuser  MYSQLUSER=backupuser
100  # Expland template  # Expland template
101  /etc/e-smith/events/actions/initialize-default-databases  /etc/e-smith/events/actions/initialize-default-databases
102    /sbin/e-smith/expand-template /etc/cron.d/runmysqlbackup
103    
104  echo "========================================================================================="  echo "***********************************************************************"
105  echo "  Your Databases are saved in /root/backup/db "  echo "  "
106  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 "========================================================================================="  
   
   
   
107  #create backupuser and give rights  #create backupuser and give rights
108  MYSQLPASS=$(/sbin/e-smith/config getprop $SMEDB DbPassword)  MYSQLPASS=$(/sbin/e-smith/config getprop $SMEDB DbPassword)
109  mysql -e " GRANT EVENT,SELECT,LOCK TABLES ON *.* TO $MYSQLUSER@'localhost' "  mysql -e " GRANT EVENT,SELECT,LOCK TABLES ON *.* TO $MYSQLUSER@'localhost' "
110  mysql -u root -e "SET PASSWORD FOR $MYSQLUSER@localhost = PASSWORD( '$MYSQLPASS' ) "  mysql -u root -e "SET PASSWORD FOR $MYSQLUSER@localhost = PASSWORD( '$MYSQLPASS' ) "
111  mysqladmin flush-privileges  mysqladmin flush-privileges
112  /etc/rc.d/init.d/mysql.init start  /etc/rc.d/init.d/mysql.init start
113    echo "done"
114    echo "*** If you add mysql55/mysql57 you must add a backup user ***"
115    echo "You can use the password from config show automysqlbackup"
116    echo "e.g.: "
117    echo "mysql55 -e \" GRANT EVENT,SELECT,LOCK TABLES ON *.* TO $MYSQLUSER@\'localhost\' \" "
118    echo "mysql55 -u root -e \"SET PASSWORD FOR $MYSQLUSER@localhost = PASSWORD( \'$MYSQLPASS\' ) \" "
119    echo "  "
120    echo "***********************************************************************"
121    
122  #protect the backup folder  #protect the backup folder
123  chmod -R 700 /root/backup/db  chmod -R 700 /root/backup/db
# Line 126  if [ $1 = 0 ] ; then Line 128  if [ $1 = 0 ] ; then
128  SMEDB=automysqlbackup  SMEDB=automysqlbackup
129  MYSQLUSER=backupuser  MYSQLUSER=backupuser
130  echo "======================================================================="  echo "======================================================================="
131  echo "  delete mysql user and revoque all permissions"  echo "  "
132    echo "  delete mysql user and revoke all permissions"
133  # This section deletes backupuser  # This section deletes backupuser
134  mysql -u root -e "REVOKE ALL PRIVILEGES ON *.* FROM '$MYSQLUSER'@'localhost';"  mysql -u root -e "REVOKE ALL PRIVILEGES ON *.* FROM '$MYSQLUSER'@'localhost';"
135  mysql -u root -e "DROP USER $MYSQLUSER@localhost;"  mysql -u root -e "DROP USER $MYSQLUSER@localhost;"
136  echo "  "  echo "  "
137    echo "Do that for each DB - e.g mysq55, mysql57 etc"
138    echo "  "
139  # Delete custom template fragment  # Delete custom template fragment
140  echo "  delete db configuration automysqlbackup"  echo "  delete db configuration automysqlbackup"
141    echo "  "
142  echo "======================================================================="  echo "======================================================================="
143    
144  /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