/[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.13 by jpp, Tue Mar 7 04:44:47 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  EOF
137    
138  [ -e /var/log/samba/samba_audit ] && cat <<'EOF' >> dir.list  [ -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  /var/log/samba/samba_audit
144  EOF  EOF
145    
146  [ -e /var/service/qpsmtpd/config/dkimkeys/ ] && cat <<'EOF' >> dir.list  [ -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
157    
158    [ -e /var/log/samba/samba_audit ] && cat <<'EOF' >>dir.list
159    /var/log/samba/samba_audit
160    EOF
161    
162    [ -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    rpm -q smeserver-smeadmin >/dev/null 2>&1 && cat <<'EOF' >>dir.list
412    /var/lib/smeadmin/
413    EOF
414    #softethernet
415    rpm -q softethervpn >/dev/null 2>&1 && cat <<'EOF' >>dir.list
416    /usr/vpnserver/vpn_server.config
417    /usr/vpnserver/backup.vpn_server.config
418    /usr/vpnserver/chain_certs
419    /usr/vpnserver/packet_log
420    /usr/vpnserver/security_log
421    /usr/vpnserver/server_log
422    EOF
423  #smeserver-sysmon  #smeserver-sysmon
424  rpm -q smeserver-sysmon  >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-sysmon >/dev/null 2>&1 && cat <<'EOF' >>dir.list
425  /var/lib/rrd/  /var/lib/rrd/
426  EOF  EOF
427  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
428  /tftpboot  /tftpboot
429  EOF  EOF
430  rpm -q smeserver-transmission >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-transmission >/dev/null 2>&1 && cat <<'EOF' >>dir.list
431  /var/lib/transmission/Downloads  /var/lib/transmission/Downloads
432  EOF  EOF
433  rpm -q smeserver-unifi >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-unifi >/dev/null 2>&1 && cat <<'EOF' >>dir.list
434  /opt/UniFi  /opt/UniFi
435  /opt/UniFi_bak  /opt/UniFi_bak
436  EOF  EOF
437  rpm -q  smeserver-xinetd >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-xinetd >/dev/null 2>&1 && cat <<'EOF' >>dir.list
438  /etc/rsyncd.conf  /etc/rsyncd.conf
439  /etc/xinetd.d/rsync  /etc/xinetd.d/rsync
440  /etc/logrotate.d/rsyncd  /etc/logrotate.d/rsyncd
441  EOF  EOF
442  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
443  /usr/share/xt_geoip/BE/  /usr/share/xt_geoip/BE/
444  /usr/share/xt_geoip/LE/  /usr/share/xt_geoip/LE/
445  /var/lib/xt_geoip/  /var/lib/xt_geoip/
446  EOF  EOF
447  rpm -q smeserver-webfilter >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-webfilter >/dev/null 2>&1 && cat <<'EOF' >>dir.list
448  /var/squidGuard/blacklists/  /var/squidGuard/blacklists/
449  EOF  EOF
450  #smeserver-webshares  #smeserver-webshare
451  rpm -q smeserver-webshares  >/dev/null  2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-webshare >/dev/null 2>&1 && cat <<'EOF' >>dir.list
452  /opt/webshare  /opt/webshare
453  EOF  EOF
454  # smeserver-zabbix-server smeserver-zabbix-agent smeserver-zabbix-proxy  # smeserver-zabbix-server smeserver-zabbix-agent smeserver-zabbix-proxy
455  if [ -d /etc/zabbix ]; then  if [ -d /etc/zabbix ]; then
456    for F in /etc/zabbix/*;do    for F in /etc/zabbix/*; do
457      rpm -qf $F >/dev/null 2>&1 || echo $F >> dir.list      rpm -qf "$F" >/dev/null 2>&1 || echo "$F" >>dir.list
458    done    done
459  fi  fi
460  if [ -d /etc/zabbix/zabbix_agentd.conf.d ]; then  if [ -d /etc/zabbix/zabbix_agentd.conf.d ]; then
461    for F in /etc/zabbix/zabbix_agentd.conf.d/*;do    for F in /etc/zabbix/zabbix_agentd.conf.d/*; do
462      rpm -qf $F >/dev/null 2>&1 || echo $F >> dir.list      rpm -qf "$F" >/dev/null 2>&1 || echo "$F" >>dir.list
463    done    done
464  fi  fi
465  if [ -d /var/lib/zabbix/bin ]; then  if [ -d /var/lib/zabbix/bin ]; then
466    for F in /var/lib/zabbix/bin/*;do    for F in /var/lib/zabbix/bin/*; do
467      rpm -qf $F >/dev/null 2>&1 || echo $F >> dir.list      rpm -qf "$F" >/dev/null 2>&1 || echo "$F" >>dir.list
468    done    done
469  fi  fi
470  rpm -q smeserver-zoneminder  >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-zoneminder >/dev/null 2>&1 && cat <<'EOF' >>dir.list
471  /var/lib/zoneminder  /var/lib/zoneminder
472  /var/log/zoneminder  /var/log/zoneminder
473  /var/spool/zoneminder-upload  /var/spool/zoneminder-upload
# Line 364  EOF Line 501  EOF
501  #smeserver-sane  #smeserver-sane
502  #smeserver-usbdisksmanager  #smeserver-usbdisksmanager
503    
504  #we might get issue there with .rpmnew files  # we might get issue there with .rpmnew files
505  # but we need to get the same version as in db  # but we need to get the same version as in db
506    
507  #  for F in /usr/share/nextcloud/apps/*;do  #  for F in /usr/share/nextcloud/apps/*;do
508  #    rpm -qf $F >/dev/null 2>&1 || echo $F >> dir.list  #    rpm -qf "$F" >/dev/null 2>&1 || echo "$F" >> dir.list
509  #  done  #  done
510    
511    /sbin/e-smith/audittools/newrpms >/root/newrpms
512    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
513    cat </root/newrpms | grep @ | cut -d' ' -f1 | sed 's/.noarch//g' | sed 's/.x86_64//g' | sed 's/.i386//g' | sort >/root/rpmsextra
514    
   
 ## 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  
515  mkdir -p /root/migratehelper/{yumDownload,lists}  mkdir -p /root/migratehelper/{yumDownload,lists}
516  # filter out in file per repo  
517  # run trhough all created files for /root/migratehelper/lists/RpmsPerRepos_*.list  # Filter out in file per repo
518  # and yum reinstall --downloadonly --downloaddir=/root/migratehelper/yumDownload # mayded followed by yum update --downloadonly --downloaddir=/root/migratehelper/yumDownload  
519  # 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"
520  # or after requiring yum-utils  (bug it seems to only download to current dir whatever you do:  echo "and"
521  # cd /root/migratehelper/yumDownload; yumdownloader install --downloadonly  --downloaddir=. smeserver-freepbx -y --diablerepo=* --enablerepo=$repo --releasever=6  echo "yum reinstall --downloadonly --downloaddir=/root/migratehelper/yumDownload"
522    echo "maybe followed by"
523  #### stop services so no changes occurs  echo "yum update --downloadonly --downloaddir=/root/migratehelper/yumDownload"
524  if [ -e /usr/lib/systemd/system/qmail.service ]; then  echo "or"
525    /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"
526    echo "or after requiring yum-utils  (bug it seems to only download to current dir whatever you do:"
527    echo "cd /root/migratehelper/yumDownload; yumdownloader install --downloadonly --downloaddir=. smeserver-freepbx -y --disablerepo=* --enablerepo=\$repo --releasever=6"
528    
529    if [ $TEST = "n" ]; then
530      echo "Stopping Services and running backup"
531    
532      # uncomment to test Test and prevent backup running
533      # echo "Test mode $TEST"
534      # exit 1
535    
536      #### stop services so no changes occurs
537      if [ -e /usr/lib/systemd/system/qmail.service ]; then
538        /usr/bin/systemctl stop qmail.service qpsmtpd.service sqpsmtpd.service ejabberd.service smb.service smbd.service nmbd.service httpd-e-smith.service
539      else
540        sv d /service/qmail
541        sv d /service/qpsmtpd
542        sv d /service/sqpsmtpd
543        [ -e /service/ejabberd ] && sv d /service/ejabberd
544        sv d /service/smbd
545        sv d /service/httpd-e-smith
546      fi
547      
548      #### prebackup
549      signal-event pre-backup
550    
551      if [ ! -d /mnt/backup ]; then
552        mkdir -p /mnt/backup
553      fi
554    
555      tar cvzf /mnt/backup/smeserver.tgz -T dir.list --exclude-from exclude.list --xattrs
556      echo "Finished. Backup file is in /mnt/backup"
557      echo "All services stopped."
558      echo "Please copy the remaining files to the new server before you halt this server"
559    
560  else  else
561    sv d /service/qmail    echo "Test mode enabled - no backup run"
562    sv d /service/qpsmtpd    echo "Test mode $TEST"
563    sv d /service/sqpsmtpd    exit 0
564    [ -e /service/ejabberd ] && sv d /service/ejabberd  fi
565    sv d /service/smbd  
566    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