/[smecontribs]/rpms/smeserver-migratehelper/contribs10/migratehelper.sh
ViewVC logotype

Diff of /rpms/smeserver-migratehelper/contribs10/migratehelper.sh

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

Revision 1.5 by jpp, Fri Oct 22 02:13:38 2021 UTC Revision 1.10 by jpp, Fri Dec 3 04:46:46 2021 UTC
# Line 1  Line 1 
1  #!/bin/bash  #!/bin/bash
2    
3  cd /root  echo "#*************************************************************************# "
4  # list of included files to the backup  echo "# Note we are NOT including >>"
5  # note we are not including /home/e-smith/{files,shares} and /home/e-smith/db/mysql*/{daily,hourly}  echo "# /home/e-smith/{files,shares} "
6  # you are responsible to backup and restore them separatly  echo "# /home/e-smith/db/mysql*/{daily,hourly}"
7  cat <<'EOF' > dir.list  echo "# "
8    echo "# You are responsible for backing up and restoring them separately"
9    echo "#*************************************************************************# "
10    
11    TEST="n"  # Set Test mode default
12    VERSION=1 # Just because
13    NOCHECK="0"
14    
15    # ===========================================================================
16    
17    function usage() { # Function: Print a help message.
18      echo "Usage: $0 [ -t Enable Test mode ] [ -n no-check ] [ -v Version ] [ -h Help ]" 1>&2
19    }
20    
21    function exit_abnormal() { # Function: Exit with error.
22      usage
23      exit 1
24    }
25    
26    function prompt_confirm() {
27      while true; do
28        read -r -n 1 -p "${1:-Continue?} [y/n]: " REPLY
29        case $REPLY in
30        [yY])
31          echo
32          return 0
33          ;;
34        [nN])
35          echo
36          return 1
37          ;;
38        *) printf " \033[31m %s \n\033[0m" "invalid input" ;;
39        esac
40      done
41    }
42    
43    while getopts ":vthn" options; do # Loop: Get the next option;
44      # use silent error checking;
45      # options have no arguments
46      case "${options}" in #
47      v)                   # If the option is n,
48        echo "Version $VERSION"
49        exit_abnormal
50        ;;
51      t)         # If the option is t,
52        TEST="y" # Set $TEST
53        ;;
54      n)
55        echo "Checking"
56        NOCHECK="1"
57        ;;
58      h)
59        exit_abnormal
60        ;;
61    
62      \?) # If unknown (any other) option:
63        echo "invalid_option"
64        exit_abnormal # Exit abnormally.
65        ;;
66    
67      *) # If unknown (any other) option:
68        echo "unknown_option"
69        exit_abnormal # Exit abnormally.
70        ;;
71    
72        # Me hacking about
73        #    :)                                    # If expected argument omitted:
74        #      echo "Error: -${OPTARG} requires an argument."
75        #      exit_abnormal                       # Exit abnormally.
76        #      ;;
77    
78      esac
79    
80    done
81    
82    if [ "$NOCHECK" = "0" ]; then
83      prompt_confirm "Can we start?" || exit 0
84    fi
85    
86    # Let's go.
87    echo "Starting - please be patient"
88    
89    if [ "$TEST" = "y" ]; then
90      echo "We are in TEST mode. No backup will be created or services affected"
91    else
92      echo "We are in REAL mode."
93      echo "This creates a backup file for restore"
94      echo "The file includes and excludes various items"
95      echo "All files, mails and MySQL DBS are not included"
96      echo "We will create the backup file like this"
97      echo "tar cvzf /mnt/backup/smeserver.tgz -T dir.list --exclude-from exclude.list"
98      echo ""
99      echo "After the script has finished all mail/file.web services will be stopped"
100      echo "Copy the backup to your new server, and manually copy over the remaining files"
101    fi
102    
103    # Added failure check
104    # https://github.com/koalaman/shellcheck/wiki/SC2164
105    
106    cd /root || exit_abnormal
107    
108    cat <<'EOF' >dir.list
109  /etc/e-smith/templates-custom  /etc/e-smith/templates-custom
110  /etc/e-smith/templates-user-custom  /etc/e-smith/templates-user-custom
111  /etc/group  /etc/group
# Line 17  cat <<'EOF' > dir.list Line 118  cat <<'EOF' > dir.list
118  /etc/sudoers  /etc/sudoers
119  /root  /root
120  /home/e-smith/Maildir  /home/e-smith/Maildir
 /home/e-smith/home  
121  /home/e-smith/ssl.crt  /home/e-smith/ssl.crt
122  /home/e-smith/ssl.key  /home/e-smith/ssl.key
123  /home/e-smith/dkim_keys  /home/e-smith/dkim_keys
# Line 35  cat <<'EOF' > dir.list Line 135  cat <<'EOF' > dir.list
135  /var/spool/cron/  /var/spool/cron/
136  EOF  EOF
137    
138  [ -e /etc/smbpasswd ] && cat <<'EOF' >> dir.list  [ -e /etc/smbpasswd ] && cat <<'EOF' >>dir.list
139  /etc/smbpasswd  /etc/smbpasswd
140  EOF  EOF
141    
142  [ -e /var/log/samba/samba_audit ] && cat <<'EOF' >> dir.list  [ -e /var/log/samba/samba_audit ] && cat <<'EOF' >>dir.list
143  /var/log/samba/samba_audit  /var/log/samba/samba_audit
144  EOF  EOF
145    
146  [ -e /etc/samba/schannel_store.tdb ] && cat <<'EOF' >> dir.list  [ -e /etc/samba/schannel_store.tdb ] && cat <<'EOF' >>dir.list
147  /etc/samba/schannel_store.tdb  /etc/samba/schannel_store.tdb
148  EOF  EOF
149    
150  [ -e /var/lib/samba/group_mapping.tdb ] && cat <<'EOF' >> dir.list  [ -e /var/lib/samba/group_mapping.tdb ] && cat <<'EOF' >>dir.list
151  /var/lib/samba/group_mapping.tdb  /var/lib/samba/group_mapping.tdb
152  EOF  EOF
153    
154  [ -e /var/lib/samba/account_policy.tdb ] && cat <<'EOF' >> dir.list  [ -e /var/lib/samba/account_policy.tdb ] && cat <<'EOF' >>dir.list
155  /var/lib/samba/account_policy.tdb  /var/lib/samba/account_policy.tdb
156  EOF  EOF
157    
158  [ -e /var/log/samba/samba_audit ] && cat <<'EOF' >> dir.list  [ -e /var/log/samba/samba_audit ] && cat <<'EOF' >>dir.list
159  /var/log/samba/samba_audit  /var/log/samba/samba_audit
160  EOF  EOF
161    
162  [ -e /var/service/qpsmtpd/config/dkimkeys/ ] && cat <<'EOF' >> dir.list  [ -e /var/service/qpsmtpd/config/dkimkeys/ ] && cat <<'EOF' >>dir.list
163  /var/service/qpsmtpd/config/dkimkeys/  /var/service/qpsmtpd/config/dkimkeys/
164  EOF  EOF
165    
# Line 85  cat <<EOF >exclude.list Line 185  cat <<EOF >exclude.list
185  EOF  EOF
186    
187  ## add here exclusion from db key  ## add here exclusion from db key
188    # Added -print0 here - also needs -0 on xargs
189  # search for local script added  # https://github.com/koalaman/shellcheck/wiki/SC2038
190  find /usr/local/bin/ -type f | xargs -I % sh -c "rpm -qf % 2>&1 > /dev/null || echo % >> dir.list"  # search for local script added
191    find /usr/local/bin/ -type f -print0 | xargs -0 -I % sh -c "rpm -qf % 2>&1 > /dev/null || echo % >> dir.list"
192  # search for local dir script added  # search for local dir script added
193  find /usr/local/ -maxdepth 1  -type d | xargs -I % sh -c "rpm -qf % 2>&1 > /dev/null || echo % >> dir.list"  find /usr/local/ -maxdepth 1 -type d -print0 | xargs -0 -I % sh -c "rpm -qf % 2>&1 > /dev/null || echo % >> dir.list"
194  # search for cron files not owned by a rpm  # search for cron files not owned by a rpm
195  find /etc/cron.* -type f | xargs -I % sh -c "rpm -qf % 2>&1 > /dev/null || echo % >> dir.list"  find /etc/cron.* -type f -print0 | xargs -0 -I % sh -c "rpm -qf % 2>&1 > /dev/null || echo % >> dir.list"
196  # search for udev rules not owned by a rpm ! oucl add an option there in case you change of hardware  # search for udev rules not owned by a rpm ! oucl add an option there in case you change of hardware
197  find /etc/udev/rules.d/ -type f | xargs -I % sh -c "rpm -qf % 2>&1 > /dev/null || echo % >> dir.list"  find /etc/udev/rules.d/ -type f -print0 | xargs -0 -I % sh -c "rpm -qf % 2>&1 > /dev/null || echo % >> dir.list"
198  # search for spamassassin user created config  # search for spamassassin user created config
199  find /etc/mail/spamassassin -maxdepth 1 -type f | xargs -I % sh -c "rpm -qf % 2>&1 > /dev/null || echo % >> dir.list"  find /etc/mail/spamassassin -maxdepth 1 -type f -print0 | xargs -0 -I % sh -c "rpm -qf % 2>&1 > /dev/null || echo % >> dir.list"
200    
201  ##################  ##################
202  #  #
203  # here starts the magic  # here starts the magic
204  # we backup each known corpm -q smeserver-dovecot ntribs folder  # we backup each known contribs folder
205  #  #
206  ##################  ##################
207  #smeserver-awstats.noarch    #smeserver-awstats.noarch
208  # data will be in /home/e-smith/files/users/admin  # data will be in /home/e-smith/files/users/admin
209  # we only backup the config files  # we only backup the config files
210  rpm -q smeserver-awstats  >/dev/null  2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-awstats >/dev/null 2>&1 && cat <<'EOF' >>dir.list
211  /etc/e-smith/web/panels/manager/cgi-bin/.awstats/  /etc/e-smith/web/panels/manager/cgi-bin/.awstats/
212  EOF  EOF
213  # see with Daniel if they have a specific config  # see with Daniel if they have a specific config
214  #rpm -q awstats >/dev/null 2>&1 && cat <<'EOF' >> dir.list  #rpm -q awstats >/dev/null 2>&1 && cat <<'EOF' >> dir.list
215  #/var/lib/awstats  #/var/lib/awstats
216  #EOF  #EOF
217  #for those we assume you handle yourself the backup or the pools in /var/lib/BackupPC  #for those we assume you handle yourself the backup or the pools in /var/lib/BackupPC
218  rpm -q smeserver-BackupPC >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-BackupPC >/dev/null 2>&1 && cat <<'EOF' >>dir.list
219  /etc/BackupPC  /etc/BackupPC
220  EOF  EOF
221  rpm -q smeserver-BackupPC4 >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-BackupPC4 >/dev/null 2>&1 && cat <<'EOF' >>dir.list
222  /etc/BackupPC  /etc/BackupPC
223  EOF  EOF
224  rpm -q smeserver-bandwidthd >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-bandwidthd >/dev/null 2>&1 && cat <<'EOF' >>dir.list
225  /var/www/bandwidthd/  /var/www/bandwidthd/
226  EOF  EOF
227  #smeserver-clamav-unofficial-sigs and clamav-unofficial-sigs  #smeserver-clamav-unofficial-sigs and clamav-unofficial-sigs
228  rpm -q smeserver-clamav-unofficial-sigs  >/dev/null  2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-clamav-unofficial-sigs >/dev/null 2>&1 && cat <<'EOF' >>dir.list
229  /var/lib/clamav-unofficial-sigs/  /var/lib/clamav-unofficial-sigs/
230  EOF  EOF
231  #smeserver-dansguardian smeserver-dansguardian-panel  #smeserver-dansguardian smeserver-dansguardian-panel
232  rpm -q smeserver-dansguardian >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-dansguardian >/dev/null 2>&1 && cat <<'EOF' >>dir.list
233  /etc/dansguardian/  /etc/dansguardian/
234  EOF  EOF
235  #smeserver-denyhosts  #smeserver-denyhosts
236  rpm -q smeserver-denyhosts  >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-denyhosts >/dev/null 2>&1 && cat <<'EOF' >>dir.list
237  /var/lib/denyhosts/  /var/lib/denyhosts/
238  /etc/hosts.deny_ssh  /etc/hosts.deny_ssh
239  /etc/hosts.deny_ssh.purge.bak  /etc/hosts.deny_ssh.purge.bak
240  EOF  EOF
241  rpm -q smeserver-dl >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-dl >/dev/null 2>&1 && cat <<'EOF' >>dir.list
242  /var/lib/dl/  /var/lib/dl/
243  EOF  EOF
244  rpm -q dokuwiki >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q dokuwiki >/dev/null 2>&1 && cat <<'EOF' >>dir.list
245  /etc/dokuwiki/acl.auth.php  /etc/dokuwiki/acl.auth.php
246  /etc/dokuwiki/acronyms.conf  /etc/dokuwiki/acronyms.conf
247  /etc/dokuwiki/entities.conf  /etc/dokuwiki/entities.conf
# Line 156  rpm -q dokuwiki >/dev/null 2>&1 && cat < Line 257  rpm -q dokuwiki >/dev/null 2>&1 && cat <
257  /var/lib/dokuwiki/data/meta  /var/lib/dokuwiki/data/meta
258  /var/lib/dokuwiki/data/pages  /var/lib/dokuwiki/data/pages
259  EOF  EOF
260  rpm -q dokuwiki >/dev/null 2>&1 && for D in /usr/share/dokuwiki/lib/plugins/*;do  rpm -q dokuwiki >/dev/null 2>&1 && for D in /usr/share/dokuwiki/lib/plugins/*; do
261    rpm -qf $D >/dev/null 2>&1 || echo $D >> dir.list    rpm -qf "$D" >/dev/null 2>&1 || echo "$D" >>dir.list
262  done  done
263    
   
264  #rpm -q smeserver-dovecot >/dev/null  2>&1 && cat <<'EOF' >> dir.list  #rpm -q smeserver-dovecot >/dev/null  2>&1 && cat <<'EOF' >> dir.list
265  [ -e /etc/dovecot/sharemailbox ] && cat <<'EOF' >> dir.list  [ -e /etc/dovecot/sharemailbox ] && cat <<'EOF' >>dir.list
266  /etc/dovecot/sharemailbox/  /etc/dovecot/sharemailbox/
267  EOF  EOF
268    
269  #smeserver-durep  #smeserver-durep
270  rpm -q smeserver-durep  >/dev/null  2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-durep >/dev/null 2>&1 && cat <<'EOF' >>dir.list
271  /var/lib/durep  /var/lib/durep
272  EOF  EOF
273  #smeserver-ezmlm-web  #smeserver-ezmlm-web
274  rpm -q smeserver-ezmlm-web  >/dev/null  2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-ezmlm-web >/dev/null 2>&1 && cat <<'EOF' >>dir.list
275  /home/e-smith/files/ezmlm  /home/e-smith/files/ezmlm
276  EOF  EOF
277  [ -e /var/lib/phone ] && cat <<'EOF' >> dir.list  [ -e /var/lib/phone ] && cat <<'EOF' >>dir.list
278  /var/lib/phone  /var/lib/phone
279  EOF  EOF
280  rpm -q smeserver-freepbx >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-freepbx >/dev/null 2>&1 && cat <<'EOF' >>dir.list
281  /opt/freepbx  /opt/freepbx
282  /var/lib/asterisk/  /var/lib/asterisk/
283  /etc/asterisk  /etc/asterisk
# Line 205  if [ -d /etc/fail2ban/filter.d ]; then Line 305  if [ -d /etc/fail2ban/filter.d ]; then
305    done    done
306  fi  fi
307  if [ -d /etc/fail2ban/jail.d ]; then  if [ -d /etc/fail2ban/jail.d ]; then
308    for F in $(/etc/fail2ban/jail.d/);do    for F in $(ls /etc/fail2ban/jail.d/);do
309      rpm -qf /etc/fail2ban/jail.d/$F >/dev/null 2>&1 || echo /etc/fail2ban/jail.d/$F >> dir.list      rpm -qf /etc/fail2ban/jail.d/$F >/dev/null 2>&1 || echo /etc/fail2ban/jail.d/$F >> dir.list
310    done    done
311  fi  fi
312  rpm -q smeserver-grr >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-grr >/dev/null 2>&1 && cat <<'EOF' >>dir.list
313  /usr/share/grr/images/  /usr/share/grr/images/
314  EOF  EOF
315  rpm -q ipasserelle-im >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q ipasserelle-im >/dev/null 2>&1 && cat <<'EOF' >>dir.list
316  /var/lib/ejabberd/  /var/lib/ejabberd/
317  /var/log/ejabberd.run  /var/log/ejabberd.run
318  EOF  EOF
319  #smeserver-isoqlog  #smeserver-isoqlog
320  rpm -q smeserver-isoqlog  >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-isoqlog >/dev/null 2>&1 && cat <<'EOF' >>dir.list
321  /var/lib/qmailtools/isoqlog/htdocs/  /var/lib/qmailtools/isoqlog/htdocs/
322  EOF  EOF
323  rpm -q smeserver-jappix >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-jappix >/dev/null 2>&1 && cat <<'EOF' >>dir.list
324  /var/lib/jappix/  /var/lib/jappix/
325  /var/log/jappix  /var/log/jappix
326  EOF  EOF
327  rpm -q smeserver-lemonldap-ng >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-lemonldap-ng >/dev/null 2>&1 && cat <<'EOF' >>dir.list
328  /var/lib/lemonldap-ng/conf  /var/lib/lemonldap-ng/conf
329  /var/lib/lemonldap-ng/notifications  /var/lib/lemonldap-ng/notifications
330  EOF  EOF
331  #smeserver-letsencrypt  #smeserver-letsencrypt
332  #rpm -q smeserver-letsencrypt  >/dev/null  2>&1 && cat <<'EOF' >> dir.list  #rpm -q smeserver-letsencrypt  >/dev/null  2>&1 && cat <<'EOF' >> dir.list
333  [ -d /etc/letsencrypt.sh/ ]  && cat <<'EOF' >> dir.list  [ -d /etc/letsencrypt.sh/ ] && cat <<'EOF' >>dir.list
334  /etc/letsencrypt.sh/  /etc/letsencrypt.sh/
335  EOF  EOF
336  [ -d /etc/dehydrated/ ] && cat <<'EOF' >> dir.list  [ -d /etc/dehydrated/ ] && cat <<'EOF' >>dir.list
337  /etc/dehydrated/  /etc/dehydrated/
338  EOF  EOF
339    
340  rpm -q smeserver-limesurvey >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-limesurvey >/dev/null 2>&1 && cat <<'EOF' >>dir.list
341  /var/lib/limesurvey/uploads  /var/lib/limesurvey/uploads
342  EOF  EOF
343  rpm -q ipasserelle-listes >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q ipasserelle-listes >/dev/null 2>&1 && cat <<'EOF' >>dir.list
344  /var/lib/mailman/  /var/lib/mailman/
345  /usr/lib/mailman/aliases/  /usr/lib/mailman/aliases/
346  EOF  EOF
347  if [ -d /usr/share/mozilla-mcd/ ]; then  if [ -d /usr/share/mozilla-mcd/ ]; then
348    for F in /usr/share/mozilla-mcd/*;do    for F in /usr/share/mozilla-mcd/*; do
349      rpm -qf $F >/dev/null 2>&1 || echo $F >> dir.list      rpm -qf "$F" >/dev/null 2>&1 || echo "$F" >>dir.list
350    done    done
351  fi  fi
352  rpm -q smeserver-madsonic >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-madsonic >/dev/null 2>&1 && cat <<'EOF' >>dir.list
353  /var/madsonic/db/  /var/madsonic/db/
354  /var/madsonic/madsonic.properties  /var/madsonic/madsonic.properties
355  /var/madsonic/madsonic.log  /var/madsonic/madsonic.log
356  /var/madsonic/madsonic_sh.log  /var/madsonic/madsonic_sh.log
357  EOF  EOF
358  rpm -q smeserver-mailman >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-mailman >/dev/null 2>&1 && cat <<'EOF' >>dir.list
359  /var/lib/mailman/  /var/lib/mailman/
360  /usr/lib/mailman/aliases/  /usr/lib/mailman/aliases/
361  EOF  EOF
362  rpm -q smeserver-nextcloud >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-nextcloud >/dev/null 2>&1 && cat <<'EOF' >>dir.list
363  /usr/share/nextcloud/  /usr/share/nextcloud/
364  EOF  EOF
365  rpm -q smeserver-ntop >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-ntop >/dev/null 2>&1 && cat <<'EOF' >>dir.list
366  /var/lib/ntop/  /var/lib/ntop/
367  EOF  EOF
368  rpm -q phpki >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q phpki >/dev/null 2>&1 && cat <<'EOF' >>dir.list
369  /opt/phpki/phpki-store/  /opt/phpki/phpki-store/
370  /opt/phpki/html/config.php  /opt/phpki/html/config.php
371  EOF  EOF
372  rpm -q smeserver-openvpn-bridge >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-openvpn-bridge >/dev/null 2>&1 && cat <<'EOF' >>dir.list
373  /etc/openvpn/bridge/priv  /etc/openvpn/bridge/priv
374  /etc/openvpn/bridge/pub  /etc/openvpn/bridge/pub
375  /var/log/openvpn-bridge  /var/log/openvpn-bridge
376  EOF  EOF
377  rpm -q smeserver-openvpn-s2s >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-openvpn-s2s >/dev/null 2>&1 && cat <<'EOF' >>dir.list
378  /etc/openvpn/s2s/priv  /etc/openvpn/s2s/priv
379  /etc/openvpn/s2s/pub  /etc/openvpn/s2s/pub
380  /var/log/openvpn-s2s  /var/log/openvpn-s2s
381  EOF  EOF
382  rpm -q smeserver-openvpn-routed >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-openvpn-routed >/dev/null 2>&1 && cat <<'EOF' >>dir.list
383  /etc/openvpn/routed/priv  /etc/openvpn/routed/priv
384  /etc/openvpn/routed/pub  /etc/openvpn/routed/pub
385  /var/log/openvpn-routed  /var/log/openvpn-routed
386  EOF  EOF
387  rpm -q smeserver-phpki  >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-phpki >/dev/null 2>&1 && cat <<'EOF' >>dir.list
388  /opt/phpki/  /opt/phpki/
389  EOF  EOF
390  rpm -q smeserver-phpki-ng  >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-phpki-ng >/dev/null 2>&1 && cat <<'EOF' >>dir.list
391  /opt/phpki/  /opt/phpki/
392  EOF  EOF
393  rpm -q pydio >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q pydio >/dev/null 2>&1 && cat <<'EOF' >>dir.list
394  /var/lib/pydio/files  /var/lib/pydio/files
395  /var/lib/pydio/personal  /var/lib/pydio/personal
396  /var/lib/pydio/public  /var/lib/pydio/public
397  /var/log/pydio  /var/log/pydio
398  EOF  EOF
399    
400  rpm -q smeserver-sarg >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-sarg >/dev/null 2>&1 && cat <<'EOF' >>dir.list
401  /var/www/sarg/  /var/www/sarg/
402  EOF  EOF
403  #smeserver-sme8admin  #smeserver-sme8admin
404  rpm -q smeserver-sme8admin  >/dev/null  2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-sme8admin >/dev/null 2>&1 && cat <<'EOF' >>dir.list
405  /var/lib/sme8admin/  /var/lib/sme8admin/
406  EOF  EOF
407  #smeserver-sme9admin  #smeserver-sme9admin
408  rpm -q smeserver-sme9admin  >/dev/null  2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-sme9admin >/dev/null 2>&1 && cat <<'EOF' >>dir.list
409  /var/lib/sme9admin/  /var/lib/sme9admin/
410  EOF  EOF
411  #smeserver-sysmon  #smeserver-sysmon
412  rpm -q smeserver-sysmon  >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-sysmon >/dev/null 2>&1 && cat <<'EOF' >>dir.list
413  /var/lib/rrd/  /var/lib/rrd/
414  EOF  EOF
415  rpm -q smeserver-tftp-server >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-tftp-server >/dev/null 2>&1 && cat <<'EOF' >>dir.list
416  /tftpboot  /tftpboot
417  EOF  EOF
418  rpm -q smeserver-transmission >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-transmission >/dev/null 2>&1 && cat <<'EOF' >>dir.list
419  /var/lib/transmission/Downloads  /var/lib/transmission/Downloads
420  EOF  EOF
421  rpm -q smeserver-unifi >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-unifi >/dev/null 2>&1 && cat <<'EOF' >>dir.list
422  /opt/UniFi  /opt/UniFi
423  /opt/UniFi_bak  /opt/UniFi_bak
424  EOF  EOF
425  rpm -q  smeserver-xinetd >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-xinetd >/dev/null 2>&1 && cat <<'EOF' >>dir.list
426  /etc/rsyncd.conf  /etc/rsyncd.conf
427  /etc/xinetd.d/rsync  /etc/xinetd.d/rsync
428  /etc/logrotate.d/rsyncd  /etc/logrotate.d/rsyncd
429  EOF  EOF
430  rpm -q smeserver-xt_geoip >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-xt_geoip >/dev/null 2>&1 && cat <<'EOF' >>dir.list
431  /usr/share/xt_geoip/BE/  /usr/share/xt_geoip/BE/
432  /usr/share/xt_geoip/LE/  /usr/share/xt_geoip/LE/
433  /var/lib/xt_geoip/  /var/lib/xt_geoip/
434  EOF  EOF
435  rpm -q smeserver-webfilter >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-webfilter >/dev/null 2>&1 && cat <<'EOF' >>dir.list
436  /var/squidGuard/blacklists/  /var/squidGuard/blacklists/
437  EOF  EOF
438  #smeserver-webshares  #smeserver-webshares
439  rpm -q smeserver-webshares  >/dev/null  2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-webshares >/dev/null 2>&1 && cat <<'EOF' >>dir.list
440  /opt/webshare  /opt/webshare
441  EOF  EOF
442  # smeserver-zabbix-server smeserver-zabbix-agent smeserver-zabbix-proxy  # smeserver-zabbix-server smeserver-zabbix-agent smeserver-zabbix-proxy
443  if [ -d /etc/zabbix ]; then  if [ -d /etc/zabbix ]; then
444    for F in /etc/zabbix/*;do    for F in /etc/zabbix/*; do
445      rpm -qf $F >/dev/null 2>&1 || echo $F >> dir.list      rpm -qf "$F" >/dev/null 2>&1 || echo "$F" >>dir.list
446    done    done
447  fi  fi
448  if [ -d /etc/zabbix/zabbix_agentd.conf.d ]; then  if [ -d /etc/zabbix/zabbix_agentd.conf.d ]; then
449    for F in /etc/zabbix/zabbix_agentd.conf.d/*;do    for F in /etc/zabbix/zabbix_agentd.conf.d/*; do
450      rpm -qf $F >/dev/null 2>&1 || echo $F >> dir.list      rpm -qf "$F" >/dev/null 2>&1 || echo "$F" >>dir.list
451    done    done
452  fi  fi
453  if [ -d /var/lib/zabbix/bin ]; then  if [ -d /var/lib/zabbix/bin ]; then
454    for F in /var/lib/zabbix/bin/*;do    for F in /var/lib/zabbix/bin/*; do
455      rpm -qf $F >/dev/null 2>&1 || echo $F >> dir.list      rpm -qf "$F" >/dev/null 2>&1 || echo "$F" >>dir.list
456    done    done
457  fi  fi
458  rpm -q smeserver-zoneminder  >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-zoneminder >/dev/null 2>&1 && cat <<'EOF' >>dir.list
459  /var/lib/zoneminder  /var/lib/zoneminder
460  /var/log/zoneminder  /var/log/zoneminder
461  /var/spool/zoneminder-upload  /var/spool/zoneminder-upload
# Line 389  EOF Line 489  EOF
489  #smeserver-sane  #smeserver-sane
490  #smeserver-usbdisksmanager  #smeserver-usbdisksmanager
491    
492  #we might get issue there with .rpmnew files  # we might get issue there with .rpmnew files
493  # but we need to get the same version as in db  # but we need to get the same version as in db
494    
495  #  for F in /usr/share/nextcloud/apps/*;do  #  for F in /usr/share/nextcloud/apps/*;do
496  #    rpm -qf $F >/dev/null 2>&1 || echo $F >> dir.list  #    rpm -qf "$F" >/dev/null 2>&1 || echo "$F" >> dir.list
497  #  done  #  done
498    
499    /sbin/e-smith/audittools/newrpms >/root/newrpms
500    cat </root/newrpms | grep @ | cut -d' ' -f1 | sed 's/.noarch//g' | sed 's/.x86_64//g' | sed 's/.i386//g' | sort | grep smeserver >/root/contribs
501    cat </root/newrpms | grep @ | cut -d' ' -f1 | sed 's/.noarch//g' | sed 's/.x86_64//g' | sed 's/.i386//g' | sort >/root/rpmsextra
502    
   
 ## add here selection for test or live and stop services  
 /sbin/e-smith/audittools/newrpms > /root/newrpms  
 cat /root/newrpms|grep @ |cut -d' ' -f1|sed 's/.noarch//g'| sed 's/.x86_64//g'|sed 's/.i386//g'|sort|grep smeserver >/root/contribs  
 cat /root/newrpms|grep @ |cut -d' ' -f1|sed 's/.noarch//g'| sed 's/.x86_64//g'|sed 's/.i386//g'|sort >/root/rpmsextra  
 #ADD here  
503  mkdir -p /root/migratehelper/{yumDownload,lists}  mkdir -p /root/migratehelper/{yumDownload,lists}
504  # filter out in file per repo  
505  # run trhough all created files for /root/migratehelper/lists/RpmsPerRepos_*.list  # Filter out in file per repo
506  # and yum reinstall --downloadonly --downloaddir=/root/migratehelper/yumDownload # mayded followed by yum update --downloadonly --downloaddir=/root/migratehelper/yumDownload  
507  # or  yum install --downloadonly --downloaddir=/root/migratehelper/yumDownload --installroot=/root/migratehelper/ smeserver-yum --enablerepo=smeos,base --releasever=6  echo "Run through all created files for /root/migratehelper/lists/RpmsPerRepos_*.list"
508  # or after requiring yum-utils  (bug it seems to only download to current dir whatever you do:  echo "and"
509  # cd /root/migratehelper/yumDownload; yumdownloader install --downloadonly  --downloaddir=. smeserver-freepbx -y --diablerepo=* --enablerepo=$repo --releasever=6  echo "yum reinstall --downloadonly --downloaddir=/root/migratehelper/yumDownload"
510    echo "maybe followed by"
511  #### stop services so no changes occurs  echo "yum update --downloadonly --downloaddir=/root/migratehelper/yumDownload"
512  if [ -e /usr/lib/systemd/system/qmail.service ]; then  echo "or"
513    /usr/bin/systemctl stop qmail.service qpsmtpd.service sqpsmtpd.service ejabberd.service smb.service smbd.service nmbd.service httpd-e-smith.service  echo "yum install --downloadonly --downloaddir=/root/migratehelper/yumDownload --installroot=/root/migratehelper/ smeserver-yum --enablerepo=smeos,base --releasever=6"
514    echo "or after requiring yum-utils  (bug it seems to only download to current dir whatever you do:"
515    echo "cd /root/migratehelper/yumDownload; yumdownloader install --downloadonly --downloaddir=. smeserver-freepbx -y --disablerepo=* --enablerepo=\$repo --releasever=6"
516    
517    if [ $TEST = "n" ]; then
518      echo "Stopping Services and running backup"
519    
520      # uncomment to test Test and prevent backup running
521      # echo "Test mode $TEST"
522      # exit 1
523    
524      #### stop services so no changes occurs
525      if [ -e /usr/lib/systemd/system/qmail.service ]; then
526        /usr/bin/systemctl stop qmail.service qpsmtpd.service sqpsmtpd.service ejabberd.service smb.service smbd.service nmbd.service httpd-e-smith.service
527      else
528        sv d /service/qmail
529        sv d /service/qpsmtpd
530        sv d /service/sqpsmtpd
531        [ -e /service/ejabberd ] && sv d /service/ejabberd
532        sv d /service/smbd
533        sv d /service/httpd-e-smith
534      fi
535      
536      #### prebackup
537      signal-event pre-backup
538    
539      if [ ! -d /mnt/backup ]; then
540        mkdir -p /mnt/backup
541      fi
542    
543      tar cvzf /mnt/backup/smeserver.tgz -T dir.list --exclude-from exclude.list --xattrs
544      echo "Finished. Backup file is in /mnt/backup"
545      echo "All services stopped."
546      echo "Please copy the remaining files to the new server before you halt this server"
547    
548  else  else
549    sv d /service/qmail    echo "Test mode enabled - no backup run"
550    sv d /service/qpsmtpd    echo "Test mode $TEST"
551    sv d /service/sqpsmtpd    exit 0
552    [ -e /service/ejabberd ] && sv d /service/ejabberd  fi
553    sv d /service/smbd  
554    sv d /service/httpd-e-smith  exit 0
 fi  
 #### prebackup  
 signal-event pre-backup  
 tar cvzf /mnt/backup/smeserver.tgz -T dir.list  --exclude-from exclude.list --xattrs  


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