%define pkgname ix-rsyncbackup %define buser ix-rbackup %define bgrp ix-rbackup Name: ix-rsyncbackup Summary: InterNetX GmbH Rsync Backup Script Version: 0.1.4 Release: 1 Url: http://www.internetx.de License: GPLv2 Group: System Environment Source0: %{pkgname}-%{version}.tar BuildRoot: %{_tmppath}/%{name}-%{version}-root %if 0%{?rhel_version} || 0%{?centos_version} || 0%{?sl_version} || 0%{?redhat_version} %if 0%{?rhel} >= 7 || 0%{?rhel} >= 8 Requires: cronie BuildRequires: cronie %else Requires: vixie-cron BuildRequires: vixie-cron %endif Requires: shadow-utils sudo rsync psa-automysqlbackup BuildRequires: shadow-utils %endif %if 0%{?suse_version} Requires: cron pwdutils sudo rsync psa-automysqlbackup BuildRequires: cron pwdutils %endif Requires: ix-firewall-plesk >= 0.0.rev1125 BuildArch: noarch %description ix-rsyncbackup saves daily disaster/full backup to InterNetX GmbH RSYNC Backup space. This is the local configuration package which sets up the environment. %prep %setup -n %{pkgname}-%{version} %build %install %__install -D -m755 validate-rsync.sh %{buildroot}/var/lib/%{buser}/bin/validate-rsync.sh %__install -D -m755 rsync-wrapper.sh %{buildroot}/var/lib/%{buser}/bin/rsync-wrapper.sh %__install -D -m600 authorized_keys %{buildroot}/var/lib/%{buser}/.ssh/authorized_keys %__install -D -m644 automysqlbackup.cron %{buildroot}%{_sysconfdir}/cron.d/automysqlbackup %pre getent group %{bgrp} >/dev/null || groupadd -r %{bgrp} getent passwd %{buser} >/dev/null || useradd -r -g %{bgrp} -d /var/lib/%{buser} -s /bin/bash -c "InterNetX GmbH System Backup" %{buser} exit 0 %post if [ -f /etc/sudoers ] ; then if [ -z "`grep ^%{buser} /etc/sudoers | grep /usr/bin/rsync`" ] ; then echo "%{buser} ALL = NOPASSWD: /usr/bin/rsync" >> /etc/sudoers fi if [ -z "`grep ^%{buser} /etc/sudoers | grep /bin/sed`" ] ; then echo "%{buser} ALL = NOPASSWD: /bin/sed" >> /etc/sudoers fi if [ -z "`grep ^%{buser} /etc/sudoers | grep /usr/bin/tee`" ] ; then echo "%{buser} ALL = NOPASSWD: /usr/bin/tee" >> /etc/sudoers fi if [ -n "`grep -E '(^Defaults *requiretty)' /etc/sudoers`" ] ; then sed -i s@"^Defaults *requiretty"@"#Defaults requiretty"@g /etc/sudoers fi fi %preun if [ $1 == 0 ] ; then if [ -f /etc/sudoers ] ; then if [ -n "`grep ^%{buser} /etc/sudoers`" ] ; then sed -i s@"^%{buser}.*"@""@ /etc/sudoers fi fi userdel -r -f %{buser} || : groupdel %{bgrp} || : fi %clean rm -rf %{buildroot} %files %defattr(-,%{buser},%{bgrp}) %dir /var/lib/%{buser} %dir /var/lib/%{buser}/bin %dir /var/lib/%{buser}/.ssh /var/lib/%{buser}/bin/*.sh /var/lib/%{buser}/.ssh/authorized_keys %defattr(-,root,root) %config %{_sysconfdir}/cron.d/automysqlbackup %changelog