/[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.3 by jpp, Sun Apr 25 05:02:05 2021 UTC Revision 1.14 by jpp, Tue Mar 7 05:16:08 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, except dumps in /home/e-smith/db/mysql*/"
96      echo "if you took the time to execute signal-event pre-backup, before"
97      echo "We will create the backup file like this"
98      echo "tar cvzf /mnt/backup/smeserver.tgz -T dir.list --exclude-from exclude.list"
99      echo ""
100      echo "After the script has finished all mail/file/web services will remain stopped"
101      echo "This is to ensure your backup is up to date untill you transfer it to new server."
102      echo "Copy the backup to your new server, and manually copy over the remaining files"
103    fi
104    
105    # Added failure check
106    # https://github.com/koalaman/shellcheck/wiki/SC2164
107    
108    cd /root || exit_abnormal
109    
110    cat <<'EOF' >dir.list
111  /etc/e-smith/templates-custom  /etc/e-smith/templates-custom
112  /etc/e-smith/templates-user-custom  /etc/e-smith/templates-user-custom
113  /etc/group  /etc/group
# Line 17  cat <<'EOF' > dir.list Line 120  cat <<'EOF' > dir.list
120  /etc/sudoers  /etc/sudoers
121  /root  /root
122  /home/e-smith/Maildir  /home/e-smith/Maildir
 /home/e-smith/home  
123  /home/e-smith/ssl.crt  /home/e-smith/ssl.crt
124  /home/e-smith/ssl.key  /home/e-smith/ssl.key
125  /home/e-smith/dkim_keys  /home/e-smith/dkim_keys
# Line 32  cat <<'EOF' > dir.list Line 134  cat <<'EOF' > dir.list
134  /var/log/iptables/  /var/log/iptables/
135  /var/spool/mail/  /var/spool/mail/
136  /var/spool/spamd/  /var/spool/spamd/
137    /var/spool/cron/
138  EOF  EOF
139    
140  [ -e /etc/smbpasswd ] && cat <<'EOF' >> dir.list  [ -e /etc/smbpasswd ] && cat <<'EOF' >>dir.list
141  /etc/smbpasswd  /etc/smbpasswd
142  EOF  EOF
143    
144  [ -e /var/log/samba/samba_audit ] && cat <<'EOF' >> dir.list  [ -e /var/log/samba/samba_audit ] && cat <<'EOF' >>dir.list
145  /var/log/samba/samba_audit  /var/log/samba/samba_audit
146  EOF  EOF
147    
148  [ -e /var/service/qpsmtpd/config/dkimkeys/ ] && cat <<'EOF' >> dir.list  [ -e /etc/samba/schannel_store.tdb ] && cat <<'EOF' >>dir.list
149    /etc/samba/schannel_store.tdb
150    EOF
151    
152    [ -e /var/lib/samba/group_mapping.tdb ] && cat <<'EOF' >>dir.list
153    /var/lib/samba/group_mapping.tdb
154    EOF
155    
156    [ -e /var/lib/samba/account_policy.tdb ] && cat <<'EOF' >>dir.list
157    /var/lib/samba/account_policy.tdb
158    EOF
159    
160    [ -e /var/log/samba/samba_audit ] && cat <<'EOF' >>dir.list
161    /var/log/samba/samba_audit
162    EOF
163    
164    [ -e /var/service/qpsmtpd/config/dkimkeys/ ] && cat <<'EOF' >>dir.list
165  /var/service/qpsmtpd/config/dkimkeys/  /var/service/qpsmtpd/config/dkimkeys/
166  EOF  EOF
167    
# Line 68  cat <<EOF >exclude.list Line 187  cat <<EOF >exclude.list
187  EOF  EOF
188    
189  ## add here exclusion from db key  ## add here exclusion from db key
190    # Added -print0 here - also needs -0 on xargs
191  # search for local script added  # https://github.com/koalaman/shellcheck/wiki/SC2038
192  find /usr/local/bin/ -type f | xargs -I % sh -c "rpm -qf % 2>&1 > /dev/null || echo % >> dir.list"  # search for local script added
193    find /usr/local/bin/ -type f -print0 | xargs -0 -I % sh -c "rpm -qf % 2>&1 > /dev/null || echo % >> dir.list"
194  # search for local dir script added  # search for local dir script added
195  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"
196  # search for cron files not owned by a rpm  # search for cron files not owned by a rpm
197  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"
198  # 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 ! could add an option there in case you change of hardware
199  find /etc/udev/rules.d/ -type f | xargs -I % sh -c "rpm -qf % 2>&1 > /dev/null || echo % >> dir.list"  # removed as migration from sme9 to sme10 will change the names, and this will make it worst
200    #find /etc/udev/rules.d/ -type f -print0 | xargs -0 -I % sh -c "rpm -qf % 2>&1 > /dev/null || echo % >> dir.list"
201  # search for spamassassin user created config  # search for spamassassin user created config
202  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"
203    
204  ##################  ##################
205  #  #
206  # here starts the magic  # here starts the magic
207  # we backup each known corpm -q smeserver-dovecot ntribs folder  # we backup each known contribs folder
208  #  #
209  ##################  ##################
210  #smeserver-awstats.noarch    #smeserver-awstats.noarch
211  # data will be in /home/e-smith/files/users/admin  # data will be in /home/e-smith/files/users/admin
212  # we only backup the config files  # we only backup the config files
213  rpm -q smeserver-awstats  >/dev/null  2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-awstats >/dev/null 2>&1 && cat <<'EOF' >>dir.list
214  /etc/e-smith/web/panels/manager/cgi-bin/.awstats/  /etc/e-smith/web/panels/manager/cgi-bin/.awstats/
215  EOF  EOF
216  # see with Daniel if they have a specific config  # see with Daniel if they have a specific config
217  #rpm -q awstats >/dev/null 2>&1 && cat <<'EOF' >> dir.list  #rpm -q awstats >/dev/null 2>&1 && cat <<'EOF' >> dir.list
218  #/var/lib/awstats  #/var/lib/awstats
219  #EOF  #EOF
220  #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
221  rpm -q smeserver-BackupPC >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-BackupPC >/dev/null 2>&1 && cat <<'EOF' >>dir.list
222  /etc/BackupPC  /etc/BackupPC
223  EOF  EOF
224  rpm -q smeserver-BackupPC4 >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-BackupPC4 >/dev/null 2>&1 && cat <<'EOF' >>dir.list
225  /etc/BackupPC  /etc/BackupPC
226  EOF  EOF
227  rpm -q smeserver-bandwidthd >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-bandwidthd >/dev/null 2>&1 && cat <<'EOF' >>dir.list
228  /var/www/bandwidthd/  /var/www/bandwidthd/
229  EOF  EOF
230  #smeserver-clamav-unofficial-sigs and clamav-unofficial-sigs  #smeserver-clamav-unofficial-sigs and clamav-unofficial-sigs
231  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
232  /var/lib/clamav-unofficial-sigs/  /var/lib/clamav-unofficial-sigs/
233  EOF  EOF
234  #smeserver-dansguardian smeserver-dansguardian-panel  #smeserver-dansguardian smeserver-dansguardian-panel
235  rpm -q smeserver-dansguardian >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-dansguardian >/dev/null 2>&1 && cat <<'EOF' >>dir.list
236  /etc/dansguardian/  /etc/dansguardian/
237  EOF  EOF
238  #smeserver-denyhosts  #smeserver-denyhosts
239  rpm -q smeserver-denyhosts  >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-denyhosts >/dev/null 2>&1 && cat <<'EOF' >>dir.list
240  /var/lib/denyhosts/  /var/lib/denyhosts/
241  /etc/hosts.deny_ssh  /etc/hosts.deny_ssh
242  /etc/hosts.deny_ssh.purge.bak  /etc/hosts.deny_ssh.purge.bak
243  EOF  EOF
244  rpm -q smeserver-dl >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-dl >/dev/null 2>&1 && cat <<'EOF' >>dir.list
245  /var/lib/dl/  /var/lib/dl/
246  EOF  EOF
247  rpm -q dokuwiki >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q dokuwiki >/dev/null 2>&1 && cat <<'EOF' >>dir.list
248  /etc/dokuwiki/acl.auth.php  /etc/dokuwiki/acl.auth.php
249  /etc/dokuwiki/acronyms.conf  /etc/dokuwiki/acronyms.conf
250  /etc/dokuwiki/entities.conf  /etc/dokuwiki/entities.conf
# Line 139  rpm -q dokuwiki >/dev/null 2>&1 && cat < Line 260  rpm -q dokuwiki >/dev/null 2>&1 && cat <
260  /var/lib/dokuwiki/data/meta  /var/lib/dokuwiki/data/meta
261  /var/lib/dokuwiki/data/pages  /var/lib/dokuwiki/data/pages
262  EOF  EOF
263  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
264    rpm -qf $D >/dev/null 2>&1 || echo $D >> dir.list    rpm -qf "$D" >/dev/null 2>&1 || echo "$D" >>dir.list
265  done  done
266    
   
267  #rpm -q smeserver-dovecot >/dev/null  2>&1 && cat <<'EOF' >> dir.list  #rpm -q smeserver-dovecot >/dev/null  2>&1 && cat <<'EOF' >> dir.list
268  [ -e /etc/dovecot/sharemailbox ] && cat <<'EOF' >> dir.list  [ -e /etc/dovecot/sharemailbox ] && cat <<'EOF' >>dir.list
269  /etc/dovecot/sharemailbox/  /etc/dovecot/sharemailbox/
270  EOF  EOF
271    
272  #smeserver-durep  #smeserver-durep
273  rpm -q smeserver-durep  >/dev/null  2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-durep >/dev/null 2>&1 && cat <<'EOF' >>dir.list
274  /var/lib/durep  /var/lib/durep
275  EOF  EOF
276  #smeserver-ezmlm-web  #smeserver-ezmlm-web
277  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
278  /home/e-smith/files/ezmlm  /home/e-smith/files/ezmlm
279  EOF  EOF
280  [ -e /var/lib/phone ] && cat <<'EOF' >> dir.list  [ -e /var/lib/phone ] && cat <<'EOF' >>dir.list
281  /var/lib/phone  /var/lib/phone
282  EOF  EOF
283  rpm -q smeserver-freepbx >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-freepbx >/dev/null 2>&1 && cat <<'EOF' >>dir.list
284  /opt/freepbx  /opt/freepbx
285  /var/lib/asterisk/  /var/lib/asterisk/
286  /etc/asterisk  /etc/asterisk
# Line 174  EOF Line 294  EOF
294  # smeserver-fail2ban  # smeserver-fail2ban
295  if [ -d /etc/fail2ban/action.d ]; then  if [ -d /etc/fail2ban/action.d ]; then
296    for F in $(ls /etc/fail2ban/action.d/);do    for F in $(ls /etc/fail2ban/action.d/);do
297      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
298    done    done
299  fi  fi
300  if [ -d /etc/fail2ban/fail2ban.d ]; then  if [ -d /etc/fail2ban/fail2ban.d ]; then
301    for F in $(ls /etc/fail2ban/fail2ban.d/);do    for F in $(ls /etc/fail2ban/fail2ban.d/);do
302      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
303    done    done
304  fi  fi
305  if [ -d /etc/fail2ban/filter.d ]; then  if [ -d /etc/fail2ban/filter.d ]; then
306    for F in $(ls /etc/fail2ban/filter.d/);do    for F in $(ls /etc/fail2ban/filter.d/);do
307      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
308    done    done
309  fi  fi
310  if [ -d /etc/fail2ban/jail.d ]; then  if [ -d /etc/fail2ban/jail.d ]; then
311    for F in $(/etc/fail2ban/jail.d/);do    for F in $(ls /etc/fail2ban/jail.d/);do
312      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
313    done    done
314  fi  fi
315  rpm -q smeserver-grr >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-grr >/dev/null 2>&1 && cat <<'EOF' >>dir.list
316  /usr/share/grr/images/  /usr/share/grr/images/
317  EOF  EOF
318  rpm -q ipasserelle-im >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q ipasserelle-im >/dev/null 2>&1 && cat <<'EOF' >>dir.list
319  /var/lib/ejabberd/  /var/lib/ejabberd/
320  /var/log/ejabberd.run  /var/log/ejabberd.run
321  EOF  EOF
322  #smeserver-isoqlog  #smeserver-isoqlog
323  rpm -q smeserver-isoqlog  >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-isoqlog >/dev/null 2>&1 && cat <<'EOF' >>dir.list
324  /var/lib/qmailtools/isoqlog/htdocs/  /var/lib/qmailtools/isoqlog/htdocs/
325  EOF  EOF
326  rpm -q smeserver-jappix >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-jappix >/dev/null 2>&1 && cat <<'EOF' >>dir.list
327  /var/lib/jappix/  /var/lib/jappix/
328  /var/log/jappix  /var/log/jappix
329  EOF  EOF
330  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
331  /var/lib/lemonldap-ng/conf  /var/lib/lemonldap-ng/conf
332  /var/lib/lemonldap-ng/notifications  /var/lib/lemonldap-ng/notifications
333  EOF  EOF
334  #smeserver-letsencrypt  #smeserver-letsencrypt
335  #rpm -q smeserver-letsencrypt  >/dev/null  2>&1 && cat <<'EOF' >> dir.list  #rpm -q smeserver-letsencrypt  >/dev/null  2>&1 && cat <<'EOF' >> dir.list
336  [ -d /etc/letsencrypt.sh/ ]  && cat <<'EOF' >> dir.list  [ -d /etc/letsencrypt.sh/ ] && cat <<'EOF' >>dir.list
337  /etc/letsencrypt.sh/  /etc/letsencrypt.sh/
338  EOF  EOF
339  [ -d /etc/dehydrated/ ] && cat <<'EOF' >> dir.list  [ -d /etc/dehydrated/ ] && cat <<'EOF' >>dir.list
340  /etc/dehydrated/  /etc/dehydrated/
341  EOF  EOF
342    
343  rpm -q smeserver-limesurvey >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-limesurvey >/dev/null 2>&1 && cat <<'EOF' >>dir.list
344  /var/lib/limesurvey/uploads  /var/lib/limesurvey/uploads
345  EOF  EOF
346  rpm -q ipasserelle-listes >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q ipasserelle-listes >/dev/null 2>&1 && cat <<'EOF' >>dir.list
347  /var/lib/mailman/  /var/lib/mailman/
348  /usr/lib/mailman/aliases/  /usr/lib/mailman/aliases/
349  EOF  EOF
350  if [ -d /usr/share/mozilla-mcd/ ]; then  if [ -d /usr/share/mozilla-mcd/ ]; then
351    for F in /usr/share/mozilla-mcd/*;do    for F in /usr/share/mozilla-mcd/*; do
352      rpm -qf $F >/dev/null 2>&1 || echo $F >> dir.list      rpm -qf "$F" >/dev/null 2>&1 || echo "$F" >>dir.list
353    done    done
354  fi  fi
355  rpm -q smeserver-madsonic >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-madsonic >/dev/null 2>&1 && cat <<'EOF' >>dir.list
356  /var/madsonic/db/  /var/madsonic/db/
357  /var/madsonic/madsonic.properties  /var/madsonic/madsonic.properties
358  /var/madsonic/madsonic.log  /var/madsonic/madsonic.log
359  /var/madsonic/madsonic_sh.log  /var/madsonic/madsonic_sh.log
360  EOF  EOF
361  rpm -q smeserver-mailman >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-mailman >/dev/null 2>&1 && cat <<'EOF' >>dir.list
362  /var/lib/mailman/  /var/lib/mailman/
363  /usr/lib/mailman/aliases/  /usr/lib/mailman/aliases/
364  EOF  EOF
365  rpm -q smeserver-nextcloud >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-nextcloud >/dev/null 2>&1 && cat <<'EOF' >>dir.list
366  /usr/share/nextcloud/  /usr/share/nextcloud/
367  EOF  EOF
368  rpm -q smeserver-ntop >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-ntop >/dev/null 2>&1 && cat <<'EOF' >>dir.list
369  /var/lib/ntop/  /var/lib/ntop/
370  EOF  EOF
371  rpm -q phpki >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q phpki >/dev/null 2>&1 && cat <<'EOF' >>dir.list
372  /opt/phpki/phpki-store/  /opt/phpki/phpki-store/
373  /opt/phpki/html/config.php  /opt/phpki/html/config.php
374  EOF  EOF
375  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
376  /etc/openvpn/bridge/priv  /etc/openvpn/bridge/priv
377  /etc/openvpn/bridge/pub  /etc/openvpn/bridge/pub
378  /var/log/openvpn-bridge  /var/log/openvpn-bridge
379  EOF  EOF
380  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
381  /etc/openvpn/s2s/priv  /etc/openvpn/s2s/priv
382  /etc/openvpn/s2s/pub  /etc/openvpn/s2s/pub
383  /var/log/openvpn-s2s  /var/log/openvpn-s2s
384  EOF  EOF
385  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
386  /etc/openvpn/routed/priv  /etc/openvpn/routed/priv
387  /etc/openvpn/routed/pub  /etc/openvpn/routed/pub
388  /var/log/openvpn-routed  /var/log/openvpn-routed
389  EOF  EOF
390  rpm -q smeserver-phpki  >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-phpki >/dev/null 2>&1 && cat <<'EOF' >>dir.list
391  /opt/phpki/  /opt/phpki/
392  EOF  EOF
393  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
394  /opt/phpki/  /opt/phpki/
395  EOF  EOF
396  rpm -q pydio >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q pydio >/dev/null 2>&1 && cat <<'EOF' >>dir.list
397  /var/lib/pydio/files  /var/lib/pydio/files
398  /var/lib/pydio/personal  /var/lib/pydio/personal
399  /var/lib/pydio/public  /var/lib/pydio/public
400  /var/log/pydio  /var/log/pydio
401  EOF  EOF
402    
403  rpm -q smeserver-sarg >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-sarg >/dev/null 2>&1 && cat <<'EOF' >>dir.list
404  /var/www/sarg/  /var/www/sarg/
405  EOF  EOF
406  #smeserver-sme8admin  #smeserver-sme8admin
407  rpm -q smeserver-sme8admin  >/dev/null  2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-sme8admin >/dev/null 2>&1 && cat <<'EOF' >>dir.list
408  /var/lib/sme8admin/  /var/lib/sme8admin/
409  EOF  EOF
410  #smeserver-sme9admin  #smeserver-sme9admin
411  rpm -q smeserver-sme9admin  >/dev/null  2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-sme9admin >/dev/null 2>&1 && cat <<'EOF' >>dir.list
412  /var/lib/sme9admin/  /var/lib/sme9admin/
413  EOF  EOF
414    rpm -q smeserver-smeadmin >/dev/null 2>&1 && cat <<'EOF' >>dir.list
415    /var/lib/smeadmin/
416    EOF
417    #softethernet
418    rpm -q softethervpn >/dev/null 2>&1 && cat <<'EOF' >>dir.list
419    /usr/vpnserver/vpn_server.config
420    /usr/vpnserver/backup.vpn_server.config
421    /usr/vpnserver/chain_certs
422    /usr/vpnserver/packet_log
423    /usr/vpnserver/security_log
424    /usr/vpnserver/server_log
425    EOF
426  #smeserver-sysmon  #smeserver-sysmon
427  rpm -q smeserver-sysmon  >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-sysmon >/dev/null 2>&1 && cat <<'EOF' >>dir.list
428  /var/lib/rrd/  /var/lib/rrd/
429  EOF  EOF
430  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
431  /tftpboot  /tftpboot
432  EOF  EOF
433  rpm -q smeserver-transmission >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-transmission >/dev/null 2>&1 && cat <<'EOF' >>dir.list
434  /var/lib/transmission/Downloads  /var/lib/transmission/Downloads
435  EOF  EOF
436  rpm -q smeserver-unifi >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-unifi >/dev/null 2>&1 && cat <<'EOF' >>dir.list
437  /opt/UniFi  /opt/UniFi
438  /opt/UniFi_bak  /opt/UniFi_bak
439  EOF  EOF
440  rpm -q  smeserver-xinetd >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-xinetd >/dev/null 2>&1 && cat <<'EOF' >>dir.list
441  /etc/rsyncd.conf  /etc/rsyncd.conf
442  /etc/xinetd.d/rsync  /etc/xinetd.d/rsync
443  /etc/logrotate.d/rsyncd  /etc/logrotate.d/rsyncd
444  EOF  EOF
445  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
446  /usr/share/xt_geoip/BE/  /usr/share/xt_geoip/BE/
447  /usr/share/xt_geoip/LE/  /usr/share/xt_geoip/LE/
448  /var/lib/xt_geoip/  /var/lib/xt_geoip/
449  EOF  EOF
450  rpm -q smeserver-webfilter >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-webfilter >/dev/null 2>&1 && cat <<'EOF' >>dir.list
451  /var/squidGuard/blacklists/  /var/squidGuard/blacklists/
452  EOF  EOF
453  #smeserver-webshares  #smeserver-webshare
454  rpm -q smeserver-webshares  >/dev/null  2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-webshare >/dev/null 2>&1 && cat <<'EOF' >>dir.list
455  /opt/webshare  /opt/webshare
456  EOF  EOF
457  # smeserver-zabbix-server smeserver-zabbix-agent smeserver-zabbix-proxy  # smeserver-zabbix-server smeserver-zabbix-agent smeserver-zabbix-proxy
458  if [ -d /etc/zabbix ]; then  if [ -d /etc/zabbix ]; then
459    for F in /etc/zabbix/*;do    for F in /etc/zabbix/*; do
460      rpm -qf $F >/dev/null 2>&1 || echo $F >> dir.list      rpm -qf "$F" >/dev/null 2>&1 || echo "$F" >>dir.list
461    done    done
462  fi  fi
463  if [ -d /etc/zabbix/zabbix_agentd.conf.d ]; then  if [ -d /etc/zabbix/zabbix_agentd.conf.d ]; then
464    for F in /etc/zabbix/zabbix_agentd.conf.d/*;do    for F in /etc/zabbix/zabbix_agentd.conf.d/*; do
465      rpm -qf $F >/dev/null 2>&1 || echo $F >> dir.list      rpm -qf "$F" >/dev/null 2>&1 || echo "$F" >>dir.list
466    done    done
467  fi  fi
468  if [ -d /var/lib/zabbix/bin ]; then  if [ -d /var/lib/zabbix/bin ]; then
469    for F in /var/lib/zabbix/bin/*;do    for F in /var/lib/zabbix/bin/*; do
470      rpm -qf $F >/dev/null 2>&1 || echo $F >> dir.list      rpm -qf "$F" >/dev/null 2>&1 || echo "$F" >>dir.list
471    done    done
472  fi  fi
473  rpm -q smeserver-zoneminder  >/dev/null 2>&1 && cat <<'EOF' >> dir.list  rpm -q smeserver-zoneminder >/dev/null 2>&1 && cat <<'EOF' >>dir.list
474  /var/lib/zoneminder  /var/lib/zoneminder
475  /var/log/zoneminder  /var/log/zoneminder
476  /var/spool/zoneminder-upload  /var/spool/zoneminder-upload
# Line 372  EOF Line 504  EOF
504  #smeserver-sane  #smeserver-sane
505  #smeserver-usbdisksmanager  #smeserver-usbdisksmanager
506    
507  #we might get issue there with .rpmnew files  # we might get issue there with .rpmnew files
508  # but we need to get the same version as in db  # but we need to get the same version as in db
509    
510  #  for F in /usr/share/nextcloud/apps/*;do  #  for F in /usr/share/nextcloud/apps/*;do
511  #    rpm -qf $F >/dev/null 2>&1 || echo $F >> dir.list  #    rpm -qf "$F" >/dev/null 2>&1 || echo "$F" >> dir.list
512  #  done  #  done
513    
514    /sbin/e-smith/audittools/newrpms >/root/newrpms
515    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
516    cat </root/newrpms | grep @ | cut -d' ' -f1 | sed 's/.noarch//g' | sed 's/.x86_64//g' | sed 's/.i386//g' | sort >/root/rpmsextra
517    
   
 ## 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  
518  mkdir -p /root/migratehelper/{yumDownload,lists}  mkdir -p /root/migratehelper/{yumDownload,lists}
519  # filter out in file per repo  
520  # run trhough all created files for /root/migratehelper/lists/RpmsPerRepos_*.list  # Filter out in file per repo
521  # and yum reinstall --downloadonly --downloaddir=/root/migratehelper/yumDownload # mayded followed by yum update --downloadonly --downloaddir=/root/migratehelper/yumDownload  
522  # 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"
523  # or after requiring yum-utils  (bug it seems to only download to current dir whatever you do:  echo "and"
524  # cd /root/migratehelper/yumDownload; yumdownloader install --downloadonly  --downloaddir=. smeserver-freepbx -y --diablerepo=* --enablerepo=$repo --releasever=6  echo "yum reinstall --downloadonly --downloaddir=/root/migratehelper/yumDownload"
525    echo "maybe followed by"
526  #### stop services so no changes occurs  echo "yum update --downloadonly --downloaddir=/root/migratehelper/yumDownload"
527  if [ -e /usr/lib/systemd/system/qmail.service ]; then  echo "or"
528    /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"
529    echo "or after requiring yum-utils  (bug it seems to only download to current dir whatever you do:"
530    echo "cd /root/migratehelper/yumDownload; yumdownloader install --downloadonly --downloaddir=. smeserver-freepbx -y --disablerepo=* --enablerepo=\$repo --releasever=6"
531    
532    if [ $TEST = "n" ]; then
533      echo "Stopping Services and running backup"
534    
535      # uncomment to test Test and prevent backup running
536      # echo "Test mode $TEST"
537      # exit 1
538    
539      #### stop services so no changes occurs
540      if [ -e /usr/lib/systemd/system/qmail.service ]; then
541        /usr/bin/systemctl stop qmail.service qpsmtpd.service sqpsmtpd.service ejabberd.service smb.service smbd.service nmbd.service httpd-e-smith.service
542      else
543        sv d /service/qmail
544        sv d /service/qpsmtpd
545        sv d /service/sqpsmtpd
546        [ -e /service/ejabberd ] && sv d /service/ejabberd
547        sv d /service/smbd
548        sv d /service/httpd-e-smith
549      fi
550      
551      #### prebackup
552      signal-event pre-backup
553    
554      if [ ! -d /mnt/backup ]; then
555        mkdir -p /mnt/backup
556      fi
557    
558      tar cvzf /mnt/backup/smeserver.tgz -T dir.list --exclude-from exclude.list --xattrs
559      echo "Finished. Backup file is in /mnt/backup"
560      echo "All services stopped."
561      echo "Please copy the remaining excluded files (e.g. /home/e-smith/files/*) to the new server before you halt this server"
562    
563  else  else
564    sv d /service/qmail    echo "Test mode enabled - no backup run"
565    sv d /service/qpsmtpd    echo "Test mode $TEST"
566    sv d /service/sqpsmtpd    exit 0
567    [ -e /service/ejabberd ] && sv d /service/ejabberd  fi
568    sv d /service/smbd  
569    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