%define name smeserver-automysqlbackup %define version 3.0.RC6 %define release 28 %define rpmver 3.0.RC6 epoch: 2 Summary: automysqlbackup is a script to backup your msql database on sme8 Name: %{name} Version: %{version} Release: %{release}%{?dist} License: GPL Group: /Web/Application Source: %{name}-%{version}.tar.gz URL: http://sourceforge.net/projects/automysqlbackup/ BuildRoot: /var/tmp/%{name}-%{version}-%{release}-buildroot BuildArchitectures: noarch Requires: e-smith-base, e-smith-release >= 10 Requires: pax Requires: automysqlbackup BuildRequires: e-smith-devtools Patch0: smeserver-automysqlbackup-AdjustableCronJob.patch Patch1: smeserver-automysqlbackup-enhanced-templates.patch Patch2: smeserver-automysqlbackup-fix-runmysql.patch Patch3: smeserver-automysqlbackup-update-permission-change.patch Patch4: smeserver-automysqlbackup-3.0.RC6-bz10806.errorsAndCreateUsers.patch Patch5: smeserver-automysqlbackup-3.0.RC6-Update-MySQL-Init-for-Mariadb.patch Patch6: smeserver-automysqlbackup-3.0.RC6-bz11561.patch Patch7: smeserver-automysqlbackup-3.0.RC6-bz11622.patch Patch8: smeserver-automysqlbackup-3.0.RC6-bz11970.Add-Maria-10x-support.patch Patch9: smeserver-automysqlbackup-3.0.RC6-bz11970.Add-Maria-10x-rename-templates.patch Patch10: smeserver-automysqlbackup-3.0.RC6-bz11970.update-cron.patch Patch11: smeserver-automysqlbackup-3.0.RC6-bz11970.Add-Maria-10x-fix-typos.patch Patch12: smeserver-automysqlbackup-3.0.RC6-bz11970.Add-Maria-10x-rename-cron-directories.patch Patch13: smeserver-automysqlbackup-3.0.RC6-bz11970.update-cron.2.patch Patch14: smeserver-automysqlbackup-3.0.RC6-bz11970.Add.Debug.patch %description This RPM is an unofficial addon for the SME Server 10.x. The target audience is the Linux/E-smith administrator who wants to backup their mysql databases with an automatic way. This script is based on automysqlbackup V3.0 %changelog * Mon Aug 15 2022 John Crisp 3.0.RC6-28.sme - Add debug patch to conf files * Mon Aug 15 2022 John Crisp 3.0.RC6-27.sme - Modify cron line again to add -bc option [SME: 11970] - Modify runmysqlbackup to add option and conf input from cron * Mon Aug 08 2022 John Crisp 3.0.RC6-26.sme - Change cron directories to match templates [SME:11970] * Mon Aug 08 2022 John Crisp 3.0.RC6-25.sme - Change rc2 to RC6 in config templates [SME:11970] - Fix DONT'T typo * Tue Jun 07 2022 John Crisp 3.0.RC6-24.sme - Update cron [SME:11970] - Fix SQL in Maria 105 - Remove automysql event and leave just smeserver-automysqlbackup-update - Fix some createlinks - Modify inits - but still leaves log errors if version not installed * Tue Jun 07 2022 John Crisp 3.0.RC6-23.sme - Modify backup directory names [SME: 11970] * Tue May 31 2022 John Crisp 3.0.RC6-22.sme - Fix more typos in templates [SME: 11970] * Tue May 31 2022 John Crisp 3.0.RC6-21.sme - Fix typos in templates [SME: 11970] * Mon May 30 2022 John Crisp 3.0.RC6-20.sme - Correct template names [SME: 11970] - Add enable instructions * Mon May 09 2022 John Crisp 3.0.RC6-19.sme - Add Maria DB 10.x support [SME: 11970] - Requires Koozali SME Server v10.x * Sat Jun 05 2021 Terry Fage 3.0.RC6-18.sme - mariadb should not backup information_schema [SME: 11622] * Fri Apr 16 2021 Jean-Philippe Pialasse 3.0.RC6-17.sme - fix automysql freeze server on reboot after post-upgrade event [SME: 11561] * Mon Oct 19 2020 Brian Read 3.0-RC6-16.sme - Initial Import to SME10 tree [SME: 11042] - Update-MySQL-Init-for-Mariadb * Sun Sep 22 2019 Jean-Philipe Pialasse 3.0.RC6-15.sme - fix multiple cause of error noise and performance [SME: 10806] * avoid parallel run of all backups, cron template rewritten * avoid multiple parallel or repeated chmod and chown * protect from undesired chmod or chown * consistent use of status for cron and conf templates * create backup user for mysql, mysql55 and mysql57 (Maria to do) * update mysql53 use to mysql51 as variable * migrate fragment to remove Mysql55 Mysql57 Mymaria Mysql53 if Mysql53 exist * remove default value in db for Mysql55 Mysql57 Mymaria Mysql53 * default as enabled in fragments for all automysql My* properties - create default user in dbs [SME: 10808] - tidy spec file * Mon Nov 26 2018 John Crisp 3.0.RC6-11.sme - fix runmysqlscript to allow for change in Backupdir key [SME: 10655] * Mon Nov 26 2018 John Crisp 3.0.RC6-10.sme - fix runmysqlbackup to allow for new databases [SME: 10654] * Fri Jul 06 2018 John Crisp 3.0.RC6-9.sme - Template configuration files - run automysqlbackup per conf directly from cron rather than runmysqlbackup - Add extra DB keys for mysql53, mysql55, mysql57 * Sun Apr 02 2017 stephane de Labrusse 3.0.RC6-8.sme - Added smeserver-automysqlbackup-AdjustableCronJob.patch - The time to run the Job is adjustable * Wed Sep 16 2015 stephane de Labrusse 3.0.RC6-6.sme - Added 'epoch: 2' * Sat Aug 22 2015 stephane de Labrusse 3.0.RC6-5.sme - Initial release to contribs9 * Sun Aug 17 2014 Stephane de Labrusse 3.0.RC6-4 - added my own patch against the --events warning --Warning: Skipping the data of table mysql.event. Specify the --events option explicitly. * Sun Oct 27 2013 Stephane de Labrusse 3.0.RC6.3 - split the contrib in two versions smeserver-automysqlbackup and automysqlbackup * Mon Apr 22 2013 Stephane de Labrusse - [3.0.RC6] version Based on automysqlbackup V3.0 RC6 * Mon Apr 08 2013 Stephane de Labrusse - [0.01] Initial version Based on automysqlbackup V3.0 RC6 %prep rm -rf $RPM_BUILD_ROOT %setup %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 %patch10 -p1 %patch11 -p1 %patch12 -p1 %patch13 -p1 %patch14 -p1 %build perl createlinks find . \( -name .gitinclude -o -name .gitignore \) -print0 | \ xargs -0 rm -f %install /bin/rm -rf $RPM_BUILD_ROOT (cd root ;/usr/bin/find . -depth -print | /bin/cpio -dump $RPM_BUILD_ROOT) /bin/rm -f %{name}-%{version}-filelist /sbin/e-smith/genfilelist $RPM_BUILD_ROOT \ --file /sbin/e-smith/runmysqlbackup 'attr(0750,root,root)' \ --dir /root/backup 'attr(0700,root,root)' \ --dir /root/backup/db 'attr(0700,root,root)' \ --dir /root/backup/db/daily 'attr(0700,root,root)' \ --dir /root/backup/db/fullschema 'attr(0700,root,root)' \ --dir /root/backup/db/latest 'attr(0700,root,root)' \ --dir /root/backup/db/monthly 'attr(0700,root,root)' \ --dir /root/backup/db/status 'attr(0700,root,root)' \ --dir /root/backup/db/tmp 'attr(0700,root,root)' \ --dir /root/backup/db/weekly 'attr(0700,root,root)' \ > %{name}-%{version}-filelist %files -f %{name}-%{version}-filelist %defattr(-,root,root) %clean rm -rf $RPM_BUILD_ROOT %pre %post #protect the backup folder chmod -R 700 /root/backup %preun %postun if [ $1 = 0 ] ; then SMEDB=automysqlbackup MYSQLUSER=backupuser echo "=======================================================================" echo " " echo " delete mysql user and revoke all permissions" # This section deletes backupuser for the standard DB mysql -u root -e "REVOKE ALL PRIVILEGES ON *.* FROM '$MYSQLUSER'@'localhost';" mysql -u root -e "DROP USER $MYSQLUSER@localhost;" echo " " echo "Do that for each DB - e.g mysq55, mysql57, mariadb101, maria105 etc" echo " " # Delete custom template fragment echo " Deleting configuration automysqlbackup" echo " " echo "=======================================================================" /sbin/e-smith/config delete $SMEDB fi