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

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

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


Revision 1.11 - (hide annotations) (download) (as text)
Thu Jun 16 17:54:08 2022 UTC (2 years, 5 months ago) by jpp
Branch: MAIN
Changes since 1.10: +2 -2 lines
Content type: application/x-sh
* Thu Dec 02 2021 Jean-Philippe Pialasse <tests@pialasse.com> 1.0-10.sme
- remove non existing standard path /home/e-smith/home

1 jpp 1.1 #!/bin/bash
2    
3 jcrisp 1.6 echo "#*************************************************************************# "
4     echo "# Note we are NOT including >>"
5     echo "# /home/e-smith/{files,shares} "
6     echo "# /home/e-smith/db/mysql*/{daily,hourly}"
7     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 jpp 1.1 /etc/e-smith/templates-custom
110     /etc/e-smith/templates-user-custom
111     /etc/group
112     /etc/gshadow
113     /etc/passwd
114     /etc/samba/secrets.tdb
115     /etc/samba/smbpasswd
116     /etc/shadow
117     /etc/ssh
118     /etc/sudoers
119     /root
120     /home/e-smith/Maildir
121     /home/e-smith/ssl.crt
122     /home/e-smith/ssl.key
123     /home/e-smith/dkim_keys
124     /home/e-smith/db
125     /var/lib/dhcpd/dhcpd.leases
126     /var/log/qpsmtpd
127     /var/log/sqpsmtpd
128     /var/log/qmail
129     /var/log/httpd/
130     /var/log/dovecot/
131     /var/log/squid/
132     /var/log/iptables/
133     /var/spool/mail/
134     /var/spool/spamd/
135 jpp 1.5 /var/spool/cron/
136 jpp 1.1 EOF
137    
138 jcrisp 1.6 [ -e /etc/smbpasswd ] && cat <<'EOF' >>dir.list
139 jpp 1.3 /etc/smbpasswd
140     EOF
141    
142 jcrisp 1.6 [ -e /var/log/samba/samba_audit ] && cat <<'EOF' >>dir.list
143 jpp 1.1 /var/log/samba/samba_audit
144     EOF
145    
146 jcrisp 1.6 [ -e /etc/samba/schannel_store.tdb ] && cat <<'EOF' >>dir.list
147 jpp 1.5 /etc/samba/schannel_store.tdb
148     EOF
149    
150 jcrisp 1.6 [ -e /var/lib/samba/group_mapping.tdb ] && cat <<'EOF' >>dir.list
151 jpp 1.5 /var/lib/samba/group_mapping.tdb
152     EOF
153    
154 jcrisp 1.6 [ -e /var/lib/samba/account_policy.tdb ] && cat <<'EOF' >>dir.list
155 jpp 1.5 /var/lib/samba/account_policy.tdb
156     EOF
157    
158 jcrisp 1.6 [ -e /var/log/samba/samba_audit ] && cat <<'EOF' >>dir.list
159 jpp 1.5 /var/log/samba/samba_audit
160     EOF
161    
162 jcrisp 1.6 [ -e /var/service/qpsmtpd/config/dkimkeys/ ] && cat <<'EOF' >>dir.list
163 jpp 1.1 /var/service/qpsmtpd/config/dkimkeys/
164     EOF
165    
166     ## add here inclusion from db key
167    
168     ## exclude files
169     cat <<EOF >exclude.list
170     /home/e-smith/db/mysql/daily
171     /home/e-smith/db/mysql/hourly
172     /home/e-smith/db/mysql55/daily
173     /home/e-smith/db/mysql55/hourly
174     /home/e-smith/db/mysql57/daily
175     /home/e-smith/db/mysql57/hourly
176     /home/e-smith/files
177     /home/e-smith/shares
178     /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/20LoadModule80PHP
179     /etc/e-smith/templates-custom/etc/hosts.allow/sshd
180     /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/35SSL00Listen443
181     /etc/e-smith/templates-custom/etc/dhcpd.conf/25DomainNameServers
182     /etc/e-smith/templates-custom/etc/dhcpd.conf/25LeaseTimeDefault
183     /etc/e-smith/templates-custom/etc/dhcpd.conf/25LeaseTimeMax
184     /etc/e-smith/templates-custom/etc/dhcpd.conf/25Routers
185     EOF
186    
187     ## add here exclusion from db key
188 jcrisp 1.6 # Added -print0 here - also needs -0 on xargs
189     # https://github.com/koalaman/shellcheck/wiki/SC2038
190     # 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 jpp 1.2 # search for local dir script added
193 jcrisp 1.6 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
195     find /etc/cron.* -type f -print0 | xargs -0 -I % sh -c "rpm -qf % 2>&1 > /dev/null || echo % >> dir.list"
196 jpp 1.1 # search for udev rules not owned by a rpm ! oucl add an option there in case you change of hardware
197 jcrisp 1.6 find /etc/udev/rules.d/ -type f -print0 | xargs -0 -I % sh -c "rpm -qf % 2>&1 > /dev/null || echo % >> dir.list"
198 jpp 1.2 # search for spamassassin user created config
199 jcrisp 1.6 find /etc/mail/spamassassin -maxdepth 1 -type f -print0 | xargs -0 -I % sh -c "rpm -qf % 2>&1 > /dev/null || echo % >> dir.list"
200 jpp 1.1
201     ##################
202     #
203     # here starts the magic
204 jcrisp 1.6 # we backup each known contribs folder
205 jpp 1.1 #
206     ##################
207 jcrisp 1.6 #smeserver-awstats.noarch
208 jpp 1.1 # data will be in /home/e-smith/files/users/admin
209     # we only backup the config files
210 jcrisp 1.6 rpm -q smeserver-awstats >/dev/null 2>&1 && cat <<'EOF' >>dir.list
211 jpp 1.1 /etc/e-smith/web/panels/manager/cgi-bin/.awstats/
212     EOF
213 jcrisp 1.6 # see with Daniel if they have a specific config
214 jpp 1.1 #rpm -q awstats >/dev/null 2>&1 && cat <<'EOF' >> dir.list
215     #/var/lib/awstats
216     #EOF
217     #for those we assume you handle yourself the backup or the pools in /var/lib/BackupPC
218 jcrisp 1.6 rpm -q smeserver-BackupPC >/dev/null 2>&1 && cat <<'EOF' >>dir.list
219 jpp 1.1 /etc/BackupPC
220     EOF
221 jcrisp 1.6 rpm -q smeserver-BackupPC4 >/dev/null 2>&1 && cat <<'EOF' >>dir.list
222 jpp 1.1 /etc/BackupPC
223     EOF
224 jcrisp 1.6 rpm -q smeserver-bandwidthd >/dev/null 2>&1 && cat <<'EOF' >>dir.list
225 jpp 1.1 /var/www/bandwidthd/
226     EOF
227     #smeserver-clamav-unofficial-sigs and clamav-unofficial-sigs
228 jcrisp 1.6 rpm -q smeserver-clamav-unofficial-sigs >/dev/null 2>&1 && cat <<'EOF' >>dir.list
229 jpp 1.1 /var/lib/clamav-unofficial-sigs/
230     EOF
231     #smeserver-dansguardian smeserver-dansguardian-panel
232 jcrisp 1.6 rpm -q smeserver-dansguardian >/dev/null 2>&1 && cat <<'EOF' >>dir.list
233 jpp 1.1 /etc/dansguardian/
234     EOF
235     #smeserver-denyhosts
236 jcrisp 1.6 rpm -q smeserver-denyhosts >/dev/null 2>&1 && cat <<'EOF' >>dir.list
237 jpp 1.1 /var/lib/denyhosts/
238     /etc/hosts.deny_ssh
239     /etc/hosts.deny_ssh.purge.bak
240     EOF
241 jcrisp 1.6 rpm -q smeserver-dl >/dev/null 2>&1 && cat <<'EOF' >>dir.list
242 jpp 1.1 /var/lib/dl/
243     EOF
244 jcrisp 1.6 rpm -q dokuwiki >/dev/null 2>&1 && cat <<'EOF' >>dir.list
245 jpp 1.1 /etc/dokuwiki/acl.auth.php
246     /etc/dokuwiki/acronyms.conf
247     /etc/dokuwiki/entities.conf
248     /etc/dokuwiki/interwiki.conf
249     /etc/dokuwiki/local.php
250     /etc/dokuwiki/plugins.local.php
251     /etc/dokuwiki/scheme.conf
252     /var/lib/dokuwiki/data/attic
253     /var/lib/dokuwiki/data/index
254     /var/lib/dokuwiki/data/media
255     /var/lib/dokuwiki/data/media_attic
256     /var/lib/dokuwiki/data/media_meta
257     /var/lib/dokuwiki/data/meta
258     /var/lib/dokuwiki/data/pages
259     EOF
260 jcrisp 1.6 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
262 jpp 1.1 done
263    
264 jpp 1.3 #rpm -q smeserver-dovecot >/dev/null 2>&1 && cat <<'EOF' >> dir.list
265 jcrisp 1.6 [ -e /etc/dovecot/sharemailbox ] && cat <<'EOF' >>dir.list
266 jpp 1.1 /etc/dovecot/sharemailbox/
267     EOF
268    
269     #smeserver-durep
270 jcrisp 1.6 rpm -q smeserver-durep >/dev/null 2>&1 && cat <<'EOF' >>dir.list
271 jpp 1.1 /var/lib/durep
272     EOF
273     #smeserver-ezmlm-web
274 jcrisp 1.6 rpm -q smeserver-ezmlm-web >/dev/null 2>&1 && cat <<'EOF' >>dir.list
275 jpp 1.1 /home/e-smith/files/ezmlm
276     EOF
277 jcrisp 1.6 [ -e /var/lib/phone ] && cat <<'EOF' >>dir.list
278 jpp 1.1 /var/lib/phone
279     EOF
280 jcrisp 1.6 rpm -q smeserver-freepbx >/dev/null 2>&1 && cat <<'EOF' >>dir.list
281 jpp 1.1 /opt/freepbx
282     /var/lib/asterisk/
283     /etc/asterisk
284     /var/spool/asterisk/
285     /var/log/asterisk
286     /usr/local/sbin/amportal
287     /usr/local/sbin/fwconsole
288     /usr/sbin/amportal
289     /usr/sbin/fwconsole
290     EOF
291 jcrisp 1.8 # smeserver-fail2ban
292 jpp 1.1 if [ -d /etc/fail2ban/action.d ]; then
293 jcrisp 1.8 for F in $(ls /etc/fail2ban/action.d/);do
294     rpm -qf /etc/fail2ban/action.d/$F >/dev/null 2>&1 || echo /etc/fail2ban/action.d/$F >> dir.list
295 jpp 1.1 done
296     fi
297     if [ -d /etc/fail2ban/fail2ban.d ]; then
298 jcrisp 1.8 for F in $(ls /etc/fail2ban/fail2ban.d/);do
299     rpm -qf /etc/fail2ban/fail2ban.d/$F >/dev/null 2>&1 || echo /etc/fail2ban/fail2ban.d/$F >> dir.list
300 jpp 1.1 done
301     fi
302     if [ -d /etc/fail2ban/filter.d ]; then
303 jcrisp 1.8 for F in $(ls /etc/fail2ban/filter.d/);do
304     rpm -qf /etc/fail2ban/filter.d/$F >/dev/null 2>&1 || echo /etc/fail2ban/filter.d/$F >> dir.list
305 jpp 1.1 done
306     fi
307     if [ -d /etc/fail2ban/jail.d ]; then
308 jcrisp 1.9 for F in $(ls /etc/fail2ban/jail.d/);do
309 jcrisp 1.8 rpm -qf /etc/fail2ban/jail.d/$F >/dev/null 2>&1 || echo /etc/fail2ban/jail.d/$F >> dir.list
310 jpp 1.1 done
311     fi
312 jcrisp 1.6 rpm -q smeserver-grr >/dev/null 2>&1 && cat <<'EOF' >>dir.list
313 jpp 1.1 /usr/share/grr/images/
314     EOF
315 jcrisp 1.6 rpm -q ipasserelle-im >/dev/null 2>&1 && cat <<'EOF' >>dir.list
316 jpp 1.1 /var/lib/ejabberd/
317     /var/log/ejabberd.run
318     EOF
319     #smeserver-isoqlog
320 jcrisp 1.6 rpm -q smeserver-isoqlog >/dev/null 2>&1 && cat <<'EOF' >>dir.list
321 jpp 1.1 /var/lib/qmailtools/isoqlog/htdocs/
322     EOF
323 jcrisp 1.6 rpm -q smeserver-jappix >/dev/null 2>&1 && cat <<'EOF' >>dir.list
324 jpp 1.1 /var/lib/jappix/
325     /var/log/jappix
326     EOF
327 jcrisp 1.6 rpm -q smeserver-lemonldap-ng >/dev/null 2>&1 && cat <<'EOF' >>dir.list
328 jpp 1.1 /var/lib/lemonldap-ng/conf
329     /var/lib/lemonldap-ng/notifications
330     EOF
331     #smeserver-letsencrypt
332 jpp 1.3 #rpm -q smeserver-letsencrypt >/dev/null 2>&1 && cat <<'EOF' >> dir.list
333 jcrisp 1.6 [ -d /etc/letsencrypt.sh/ ] && cat <<'EOF' >>dir.list
334 jpp 1.1 /etc/letsencrypt.sh/
335 jpp 1.3 EOF
336 jcrisp 1.6 [ -d /etc/dehydrated/ ] && cat <<'EOF' >>dir.list
337 jpp 1.1 /etc/dehydrated/
338     EOF
339 jpp 1.3
340 jcrisp 1.6 rpm -q smeserver-limesurvey >/dev/null 2>&1 && cat <<'EOF' >>dir.list
341 jpp 1.1 /var/lib/limesurvey/uploads
342     EOF
343 jcrisp 1.6 rpm -q ipasserelle-listes >/dev/null 2>&1 && cat <<'EOF' >>dir.list
344 jpp 1.1 /var/lib/mailman/
345     /usr/lib/mailman/aliases/
346     EOF
347     if [ -d /usr/share/mozilla-mcd/ ]; then
348 jcrisp 1.6 for F in /usr/share/mozilla-mcd/*; do
349     rpm -qf "$F" >/dev/null 2>&1 || echo "$F" >>dir.list
350 jpp 1.1 done
351     fi
352 jcrisp 1.6 rpm -q smeserver-madsonic >/dev/null 2>&1 && cat <<'EOF' >>dir.list
353 jpp 1.1 /var/madsonic/db/
354     /var/madsonic/madsonic.properties
355     /var/madsonic/madsonic.log
356     /var/madsonic/madsonic_sh.log
357     EOF
358 jcrisp 1.6 rpm -q smeserver-mailman >/dev/null 2>&1 && cat <<'EOF' >>dir.list
359 jpp 1.1 /var/lib/mailman/
360     /usr/lib/mailman/aliases/
361     EOF
362 jcrisp 1.6 rpm -q smeserver-nextcloud >/dev/null 2>&1 && cat <<'EOF' >>dir.list
363 jpp 1.1 /usr/share/nextcloud/
364     EOF
365 jcrisp 1.6 rpm -q smeserver-ntop >/dev/null 2>&1 && cat <<'EOF' >>dir.list
366 jpp 1.1 /var/lib/ntop/
367     EOF
368 jcrisp 1.6 rpm -q phpki >/dev/null 2>&1 && cat <<'EOF' >>dir.list
369 jpp 1.1 /opt/phpki/phpki-store/
370     /opt/phpki/html/config.php
371     EOF
372 jcrisp 1.6 rpm -q smeserver-openvpn-bridge >/dev/null 2>&1 && cat <<'EOF' >>dir.list
373 jpp 1.1 /etc/openvpn/bridge/priv
374     /etc/openvpn/bridge/pub
375     /var/log/openvpn-bridge
376     EOF
377 jcrisp 1.6 rpm -q smeserver-openvpn-s2s >/dev/null 2>&1 && cat <<'EOF' >>dir.list
378 jpp 1.1 /etc/openvpn/s2s/priv
379     /etc/openvpn/s2s/pub
380     /var/log/openvpn-s2s
381     EOF
382 jcrisp 1.6 rpm -q smeserver-openvpn-routed >/dev/null 2>&1 && cat <<'EOF' >>dir.list
383 jpp 1.1 /etc/openvpn/routed/priv
384     /etc/openvpn/routed/pub
385     /var/log/openvpn-routed
386     EOF
387 jcrisp 1.6 rpm -q smeserver-phpki >/dev/null 2>&1 && cat <<'EOF' >>dir.list
388 jpp 1.1 /opt/phpki/
389     EOF
390 jcrisp 1.6 rpm -q smeserver-phpki-ng >/dev/null 2>&1 && cat <<'EOF' >>dir.list
391 jpp 1.1 /opt/phpki/
392     EOF
393 jcrisp 1.6 rpm -q pydio >/dev/null 2>&1 && cat <<'EOF' >>dir.list
394 jpp 1.1 /var/lib/pydio/files
395     /var/lib/pydio/personal
396     /var/lib/pydio/public
397     /var/log/pydio
398     EOF
399    
400 jcrisp 1.6 rpm -q smeserver-sarg >/dev/null 2>&1 && cat <<'EOF' >>dir.list
401 jpp 1.1 /var/www/sarg/
402     EOF
403     #smeserver-sme8admin
404 jcrisp 1.6 rpm -q smeserver-sme8admin >/dev/null 2>&1 && cat <<'EOF' >>dir.list
405 jpp 1.1 /var/lib/sme8admin/
406     EOF
407     #smeserver-sme9admin
408 jcrisp 1.6 rpm -q smeserver-sme9admin >/dev/null 2>&1 && cat <<'EOF' >>dir.list
409 jpp 1.1 /var/lib/sme9admin/
410     EOF
411     #smeserver-sysmon
412 jcrisp 1.6 rpm -q smeserver-sysmon >/dev/null 2>&1 && cat <<'EOF' >>dir.list
413 jpp 1.1 /var/lib/rrd/
414     EOF
415 jcrisp 1.6 rpm -q smeserver-tftp-server >/dev/null 2>&1 && cat <<'EOF' >>dir.list
416 jpp 1.1 /tftpboot
417     EOF
418 jcrisp 1.6 rpm -q smeserver-transmission >/dev/null 2>&1 && cat <<'EOF' >>dir.list
419 jpp 1.1 /var/lib/transmission/Downloads
420     EOF
421 jcrisp 1.6 rpm -q smeserver-unifi >/dev/null 2>&1 && cat <<'EOF' >>dir.list
422 jpp 1.1 /opt/UniFi
423     /opt/UniFi_bak
424     EOF
425 jcrisp 1.6 rpm -q smeserver-xinetd >/dev/null 2>&1 && cat <<'EOF' >>dir.list
426 jpp 1.1 /etc/rsyncd.conf
427     /etc/xinetd.d/rsync
428     /etc/logrotate.d/rsyncd
429     EOF
430 jcrisp 1.6 rpm -q smeserver-xt_geoip >/dev/null 2>&1 && cat <<'EOF' >>dir.list
431 jpp 1.1 /usr/share/xt_geoip/BE/
432     /usr/share/xt_geoip/LE/
433     /var/lib/xt_geoip/
434     EOF
435 jcrisp 1.6 rpm -q smeserver-webfilter >/dev/null 2>&1 && cat <<'EOF' >>dir.list
436 jpp 1.1 /var/squidGuard/blacklists/
437     EOF
438 jpp 1.11 #smeserver-webshare
439     rpm -q smeserver-webshare >/dev/null 2>&1 && cat <<'EOF' >>dir.list
440 jpp 1.1 /opt/webshare
441     EOF
442     # smeserver-zabbix-server smeserver-zabbix-agent smeserver-zabbix-proxy
443     if [ -d /etc/zabbix ]; then
444 jcrisp 1.6 for F in /etc/zabbix/*; do
445     rpm -qf "$F" >/dev/null 2>&1 || echo "$F" >>dir.list
446 jpp 1.1 done
447     fi
448     if [ -d /etc/zabbix/zabbix_agentd.conf.d ]; then
449 jcrisp 1.6 for F in /etc/zabbix/zabbix_agentd.conf.d/*; do
450     rpm -qf "$F" >/dev/null 2>&1 || echo "$F" >>dir.list
451 jpp 1.1 done
452     fi
453     if [ -d /var/lib/zabbix/bin ]; then
454 jcrisp 1.6 for F in /var/lib/zabbix/bin/*; do
455     rpm -qf "$F" >/dev/null 2>&1 || echo "$F" >>dir.list
456 jpp 1.1 done
457     fi
458 jcrisp 1.6 rpm -q smeserver-zoneminder >/dev/null 2>&1 && cat <<'EOF' >>dir.list
459 jpp 1.1 /var/lib/zoneminder
460     /var/log/zoneminder
461     /var/spool/zoneminder-upload
462     EOF
463    
464     #contribs we are aware of, but NOTHING TO DO
465     #smeserver-email-management
466     #smeserver-geoip
467     #smeserver-kronolith
468     #smeserver-lazy_admin_tools
469     #smeserver-learn
470     #smeserver-mailsorting
471     #smeserver-mailstats
472     #smeserver-mod_dav
473     #smeserver-nag
474     #smeserver-php-fpm
475     #smeserver-php-scl
476     #smeserver-phpldapadmin.
477     #smeserver-phpsysinfo
478     #smeserver-qmHandle
479     #smeserver-remoteuseraccess
480     #smeserver-userpanel
481     #smeserver-userpanels
482     #smeserver-vacation
483     #smeserver-wbl
484     #smeserver-webapps-common
485     #smeserver-webhosting
486     #smeserver-bridge-interface
487     #smeserver-ddclient
488     #smeserver-mediatomb
489     #smeserver-sane
490     #smeserver-usbdisksmanager
491    
492 jcrisp 1.6 # we might get issue there with .rpmnew files
493     # but we need to get the same version as in db
494 jpp 1.1
495     # for F in /usr/share/nextcloud/apps/*;do
496 jcrisp 1.6 # rpm -qf "$F" >/dev/null 2>&1 || echo "$F" >> dir.list
497 jpp 1.1 # done
498    
499 jcrisp 1.6 /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 jpp 1.1
503 jcrisp 1.6 mkdir -p /root/migratehelper/{yumDownload,lists}
504    
505     # Filter out in file per repo
506    
507     echo "Run through all created files for /root/migratehelper/lists/RpmsPerRepos_*.list"
508     echo "and"
509     echo "yum reinstall --downloadonly --downloaddir=/root/migratehelper/yumDownload"
510     echo "maybe followed by"
511     echo "yum update --downloadonly --downloaddir=/root/migratehelper/yumDownload"
512     echo "or"
513     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 jcrisp 1.7
520     # uncomment to test Test and prevent backup running
521     # echo "Test mode $TEST"
522     # exit 1
523 jcrisp 1.6
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 jpp 1.1
548     else
549 jcrisp 1.6 echo "Test mode enabled - no backup run"
550 jcrisp 1.7 echo "Test mode $TEST"
551 jcrisp 1.6 exit 0
552     fi
553    
554     exit 0

admin@koozali.org
ViewVC Help
Powered by ViewVC 1.2.1 RSS 2.0 feed