/[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.2 by jpp, Fri Apr 2 02:33:53 2021 UTC Revision 1.12 by jpp, Tue Mar 7 04:38:34 2023 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 13  cat <<'EOF' > dir.list Line 114  cat <<'EOF' > dir.list
114  /etc/samba/secrets.tdb  /etc/samba/secrets.tdb
115  /etc/samba/smbpasswd  /etc/samba/smbpasswd
116  /etc/shadow  /etc/shadow
 /etc/smbpasswd  
117  /etc/ssh  /etc/ssh
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 33  cat <<'EOF' > dir.list Line 132  cat <<'EOF' > dir.list
132  /var/log/iptables/  /var/log/iptables/
133  /var/spool/mail/  /var/spool/mail/
134  /var/spool/spamd/  /var/spool/spamd/
135    /var/spool/cron/
136    EOF
137    
138    [ -e /etc/smbpasswd ] && cat <<'EOF' >>dir.list
139    /etc/smbpasswd
140    EOF
141    
142    [ -e /var/log/samba/samba_audit ] && cat <<'EOF' >>dir.list
143    /var/log/samba/samba_audit
144    EOF
145    
146    [ -e /etc/samba/schannel_store.tdb ] && cat <<'EOF' >>dir.list
147    /etc/samba/schannel_store.tdb
148    EOF
149    
150    [ -e /var/lib/samba/group_mapping.tdb ] && cat <<'EOF' >>dir.list
151    /var/lib/samba/group_mapping.tdb
152    EOF
153    
154    [ -e /var/lib/samba/account_policy.tdb ] && cat <<'EOF' >>dir.list
155    /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 65  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 136  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
265  rpm -q smeserver-dovecot >/dev/null  2>&1 && 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 169  rpm -q smeserver-freepbx >/dev/null 2>&1 Line 290  rpm -q smeserver-freepbx >/dev/null 2>&1
290  EOF  EOF
291  # smeserver-fail2ban  # smeserver-fail2ban
292  if [ -d /etc/fail2ban/action.d ]; then  if [ -d /etc/fail2ban/action.d ]; then
293    for F in /etc/fail2ban/action.d/*;do    for F in $(ls /etc/fail2ban/action.d/);do
294      rpm -qf $F >/dev/null 2>&1 || echo $F >> dir.list      rpm -qf /etc/fail2ban/action.d/$F >/dev/null 2>&1 || echo /etc/fail2ban/action.d/$F >> dir.list
295    done    done
296  fi  fi
297  if [ -d /etc/fail2ban/fail2ban.d ]; then  if [ -d /etc/fail2ban/fail2ban.d ]; then
298    for F in /etc/fail2ban/fail2ban.d/*;do    for F in $(ls /etc/fail2ban/fail2ban.d/);do
299      rpm -qf $F >/dev/null 2>&1 || echo $F >> dir.list      rpm -qf /etc/fail2ban/fail2ban.d/$F >/dev/null 2>&1 || echo /etc/fail2ban/fail2ban.d/$F >> dir.list
300    done    done
301  fi  fi
302  if [ -d /etc/fail2ban/filter.d ]; then  if [ -d /etc/fail2ban/filter.d ]; then
303    for F in /etc/fail2ban/filter.d/*;do    for F in $(ls /etc/fail2ban/filter.d/);do
304      rpm -qf $F >/dev/null 2>&1 || echo $F >> dir.list      rpm -qf /etc/fail2ban/filter.d/$F >/dev/null 2>&1 || echo /etc/fail2ban/filter.d/$F >> dir.list
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 $F >/dev/null 2>&1 || echo $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
334  /etc/letsencrypt.sh/  /etc/letsencrypt.sh/
335    EOF
336    [ -d /etc/dehydrated/ ] && cat <<'EOF' >>dir.list
337  /etc/dehydrated/  /etc/dehydrated/
338  EOF  EOF
339  rpm -q smeserver-limesurvey >/dev/null 2>&1 && cat <<'EOF' >> dir.list  
340    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    #softethernet
412    rpm -q softethervpn >/dev/null 2>&1 && cat <<'EOF' >>dir.list
413    /usr/vpnserver/vpn_server.config
414    /usr/vpnserver/backup.vpn_server.config
415    /usr/vpnserver/chain_certs
416    /usr/vpnserver/packet_log
417    /usr/vpnserver/security_log
418    /usr/vpnserver/server_log
419    EOF
420  #smeserver-sysmon  #smeserver-sysmon
421  rpm -q smeserver-sysmon  >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-sysmon >/dev/null 2>&1 && cat <<'EOF' >>dir.list
422  /var/lib/rrd/  /var/lib/rrd/
423  EOF  EOF
424  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
425  /tftpboot  /tftpboot
426  EOF  EOF
427  rpm -q smeserver-transmission >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-transmission >/dev/null 2>&1 && cat <<'EOF' >>dir.list
428  /var/lib/transmission/Downloads  /var/lib/transmission/Downloads
429  EOF  EOF
430  rpm -q smeserver-unifi >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-unifi >/dev/null 2>&1 && cat <<'EOF' >>dir.list
431  /opt/UniFi  /opt/UniFi
432  /opt/UniFi_bak  /opt/UniFi_bak
433  EOF  EOF
434  rpm -q  smeserver-xinetd >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-xinetd >/dev/null 2>&1 && cat <<'EOF' >>dir.list
435  /etc/rsyncd.conf  /etc/rsyncd.conf
436  /etc/xinetd.d/rsync  /etc/xinetd.d/rsync
437  /etc/logrotate.d/rsyncd  /etc/logrotate.d/rsyncd
438  EOF  EOF
439  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
440  /usr/share/xt_geoip/BE/  /usr/share/xt_geoip/BE/
441  /usr/share/xt_geoip/LE/  /usr/share/xt_geoip/LE/
442  /var/lib/xt_geoip/  /var/lib/xt_geoip/
443  EOF  EOF
444  rpm -q smeserver-webfilter >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-webfilter >/dev/null 2>&1 && cat <<'EOF' >>dir.list
445  /var/squidGuard/blacklists/  /var/squidGuard/blacklists/
446  EOF  EOF
447  #smeserver-webshares  #smeserver-webshare
448  rpm -q smeserver-webshares  >/dev/null  2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-webshare >/dev/null 2>&1 && cat <<'EOF' >>dir.list
449  /opt/webshare  /opt/webshare
450  EOF  EOF
451  # smeserver-zabbix-server smeserver-zabbix-agent smeserver-zabbix-proxy  # smeserver-zabbix-server smeserver-zabbix-agent smeserver-zabbix-proxy
452  if [ -d /etc/zabbix ]; then  if [ -d /etc/zabbix ]; then
453    for F in /etc/zabbix/*;do    for F in /etc/zabbix/*; do
454      rpm -qf $F >/dev/null 2>&1 || echo $F >> dir.list      rpm -qf "$F" >/dev/null 2>&1 || echo "$F" >>dir.list
455    done    done
456  fi  fi
457  if [ -d /etc/zabbix/zabbix_agentd.conf.d ]; then  if [ -d /etc/zabbix/zabbix_agentd.conf.d ]; then
458    for F in /etc/zabbix/zabbix_agentd.conf.d/*;do    for F in /etc/zabbix/zabbix_agentd.conf.d/*; do
459      rpm -qf $F >/dev/null 2>&1 || echo $F >> dir.list      rpm -qf "$F" >/dev/null 2>&1 || echo "$F" >>dir.list
460    done    done
461  fi  fi
462  if [ -d /var/lib/zabbix/bin ]; then  if [ -d /var/lib/zabbix/bin ]; then
463    for F in /var/lib/zabbix/bin/*;do    for F in /var/lib/zabbix/bin/*; do
464      rpm -qf $F >/dev/null 2>&1 || echo $F >> dir.list      rpm -qf "$F" >/dev/null 2>&1 || echo "$F" >>dir.list
465    done    done
466  fi  fi
467  rpm -q smeserver-zoneminder  >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-zoneminder >/dev/null 2>&1 && cat <<'EOF' >>dir.list
468  /var/lib/zoneminder  /var/lib/zoneminder
469  /var/log/zoneminder  /var/log/zoneminder
470  /var/spool/zoneminder-upload  /var/spool/zoneminder-upload
# Line 364  EOF Line 498  EOF
498  #smeserver-sane  #smeserver-sane
499  #smeserver-usbdisksmanager  #smeserver-usbdisksmanager
500    
501  #we might get issue there with .rpmnew files  # we might get issue there with .rpmnew files
502  # but we need to get the same version as in db  # but we need to get the same version as in db
503    
504  #  for F in /usr/share/nextcloud/apps/*;do  #  for F in /usr/share/nextcloud/apps/*;do
505  #    rpm -qf $F >/dev/null 2>&1 || echo $F >> dir.list  #    rpm -qf "$F" >/dev/null 2>&1 || echo "$F" >> dir.list
506  #  done  #  done
507    
508    /sbin/e-smith/audittools/newrpms >/root/newrpms
509    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
510    cat </root/newrpms | grep @ | cut -d' ' -f1 | sed 's/.noarch//g' | sed 's/.x86_64//g' | sed 's/.i386//g' | sort >/root/rpmsextra
511    
   
 ## 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  
512  mkdir -p /root/migratehelper/{yumDownload,lists}  mkdir -p /root/migratehelper/{yumDownload,lists}
513  # filter out in file per repo  
514  # run trhough all created files for /root/migratehelper/lists/RpmsPerRepos_*.list  # Filter out in file per repo
515  # and yum reinstall --downloadonly --downloaddir=/root/migratehelper/yumDownload # mayded followed by yum update --downloadonly --downloaddir=/root/migratehelper/yumDownload  
516  # 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"
517  # or after requiring yum-utils  (bug it seems to only download to current dir whatever you do:  echo "and"
518  # cd /root/migratehelper/yumDownload; yumdownloader install --downloadonly  --downloaddir=. smeserver-freepbx -y --diablerepo=* --enablerepo=$repo --releasever=6  echo "yum reinstall --downloadonly --downloaddir=/root/migratehelper/yumDownload"
519    echo "maybe followed by"
520  #### stop services so no changes occurs  echo "yum update --downloadonly --downloaddir=/root/migratehelper/yumDownload"
521  if [ -e /usr/lib/systemd/system/qmail.service ]; then  echo "or"
522    /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"
523    echo "or after requiring yum-utils  (bug it seems to only download to current dir whatever you do:"
524    echo "cd /root/migratehelper/yumDownload; yumdownloader install --downloadonly --downloaddir=. smeserver-freepbx -y --disablerepo=* --enablerepo=\$repo --releasever=6"
525    
526    if [ $TEST = "n" ]; then
527      echo "Stopping Services and running backup"
528    
529      # uncomment to test Test and prevent backup running
530      # echo "Test mode $TEST"
531      # exit 1
532    
533      #### stop services so no changes occurs
534      if [ -e /usr/lib/systemd/system/qmail.service ]; then
535        /usr/bin/systemctl stop qmail.service qpsmtpd.service sqpsmtpd.service ejabberd.service smb.service smbd.service nmbd.service httpd-e-smith.service
536      else
537        sv d /service/qmail
538        sv d /service/qpsmtpd
539        sv d /service/sqpsmtpd
540        [ -e /service/ejabberd ] && sv d /service/ejabberd
541        sv d /service/smbd
542        sv d /service/httpd-e-smith
543      fi
544      
545      #### prebackup
546      signal-event pre-backup
547    
548      if [ ! -d /mnt/backup ]; then
549        mkdir -p /mnt/backup
550      fi
551    
552      tar cvzf /mnt/backup/smeserver.tgz -T dir.list --exclude-from exclude.list --xattrs
553      echo "Finished. Backup file is in /mnt/backup"
554      echo "All services stopped."
555      echo "Please copy the remaining files to the new server before you halt this server"
556    
557  else  else
558    sv d /service/qmail    echo "Test mode enabled - no backup run"
559    sv d /service/qpsmtpd    echo "Test mode $TEST"
560    sv d /service/sqpsmtpd    exit 0
561    [ -e /service/ejabberd ] && sv d /service/ejabberd  fi
562    sv d /service/smbd  
563    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