/[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.13 - (hide annotations) (download) (as text)
Tue Mar 7 04:44:47 2023 UTC (15 months ago) by jpp
Branch: MAIN
Changes since 1.12: +3 -0 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 jpp 1.13 rpm -q smeserver-smeadmin >/dev/null 2>&1 && cat <<'EOF' >>dir.list
412     /var/lib/smeadmin/
413     EOF
414 jpp 1.12 #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 jpp 1.1 #smeserver-sysmon
424 jcrisp 1.6 rpm -q smeserver-sysmon >/dev/null 2>&1 && cat <<'EOF' >>dir.list
425 jpp 1.1 /var/lib/rrd/
426     EOF
427 jcrisp 1.6 rpm -q smeserver-tftp-server >/dev/null 2>&1 && cat <<'EOF' >>dir.list
428 jpp 1.1 /tftpboot
429     EOF
430 jcrisp 1.6 rpm -q smeserver-transmission >/dev/null 2>&1 && cat <<'EOF' >>dir.list
431 jpp 1.1 /var/lib/transmission/Downloads
432     EOF
433 jcrisp 1.6 rpm -q smeserver-unifi >/dev/null 2>&1 && cat <<'EOF' >>dir.list
434 jpp 1.1 /opt/UniFi
435     /opt/UniFi_bak
436     EOF
437 jcrisp 1.6 rpm -q smeserver-xinetd >/dev/null 2>&1 && cat <<'EOF' >>dir.list
438 jpp 1.1 /etc/rsyncd.conf
439     /etc/xinetd.d/rsync
440     /etc/logrotate.d/rsyncd
441     EOF
442 jcrisp 1.6 rpm -q smeserver-xt_geoip >/dev/null 2>&1 && cat <<'EOF' >>dir.list
443 jpp 1.1 /usr/share/xt_geoip/BE/
444     /usr/share/xt_geoip/LE/
445     /var/lib/xt_geoip/
446     EOF
447 jcrisp 1.6 rpm -q smeserver-webfilter >/dev/null 2>&1 && cat <<'EOF' >>dir.list
448 jpp 1.1 /var/squidGuard/blacklists/
449     EOF
450 jpp 1.11 #smeserver-webshare
451     rpm -q smeserver-webshare >/dev/null 2>&1 && cat <<'EOF' >>dir.list
452 jpp 1.1 /opt/webshare
453     EOF
454     # smeserver-zabbix-server smeserver-zabbix-agent smeserver-zabbix-proxy
455     if [ -d /etc/zabbix ]; then
456 jcrisp 1.6 for F in /etc/zabbix/*; do
457     rpm -qf "$F" >/dev/null 2>&1 || echo "$F" >>dir.list
458 jpp 1.1 done
459     fi
460     if [ -d /etc/zabbix/zabbix_agentd.conf.d ]; then
461 jcrisp 1.6 for F in /etc/zabbix/zabbix_agentd.conf.d/*; do
462     rpm -qf "$F" >/dev/null 2>&1 || echo "$F" >>dir.list
463 jpp 1.1 done
464     fi
465     if [ -d /var/lib/zabbix/bin ]; then
466 jcrisp 1.6 for F in /var/lib/zabbix/bin/*; do
467     rpm -qf "$F" >/dev/null 2>&1 || echo "$F" >>dir.list
468 jpp 1.1 done
469     fi
470 jcrisp 1.6 rpm -q smeserver-zoneminder >/dev/null 2>&1 && cat <<'EOF' >>dir.list
471 jpp 1.1 /var/lib/zoneminder
472     /var/log/zoneminder
473     /var/spool/zoneminder-upload
474     EOF
475    
476     #contribs we are aware of, but NOTHING TO DO
477     #smeserver-email-management
478     #smeserver-geoip
479     #smeserver-kronolith
480     #smeserver-lazy_admin_tools
481     #smeserver-learn
482     #smeserver-mailsorting
483     #smeserver-mailstats
484     #smeserver-mod_dav
485     #smeserver-nag
486     #smeserver-php-fpm
487     #smeserver-php-scl
488     #smeserver-phpldapadmin.
489     #smeserver-phpsysinfo
490     #smeserver-qmHandle
491     #smeserver-remoteuseraccess
492     #smeserver-userpanel
493     #smeserver-userpanels
494     #smeserver-vacation
495     #smeserver-wbl
496     #smeserver-webapps-common
497     #smeserver-webhosting
498     #smeserver-bridge-interface
499     #smeserver-ddclient
500     #smeserver-mediatomb
501     #smeserver-sane
502     #smeserver-usbdisksmanager
503    
504 jcrisp 1.6 # we might get issue there with .rpmnew files
505     # but we need to get the same version as in db
506 jpp 1.1
507     # for F in /usr/share/nextcloud/apps/*;do
508 jcrisp 1.6 # rpm -qf "$F" >/dev/null 2>&1 || echo "$F" >> dir.list
509 jpp 1.1 # done
510    
511 jcrisp 1.6 /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 jpp 1.1
515 jcrisp 1.6 mkdir -p /root/migratehelper/{yumDownload,lists}
516    
517     # Filter out in file per repo
518    
519     echo "Run through all created files for /root/migratehelper/lists/RpmsPerRepos_*.list"
520     echo "and"
521     echo "yum reinstall --downloadonly --downloaddir=/root/migratehelper/yumDownload"
522     echo "maybe followed by"
523     echo "yum update --downloadonly --downloaddir=/root/migratehelper/yumDownload"
524     echo "or"
525     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 jcrisp 1.7
532     # uncomment to test Test and prevent backup running
533     # echo "Test mode $TEST"
534     # exit 1
535 jcrisp 1.6
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 jpp 1.1
560     else
561 jcrisp 1.6 echo "Test mode enabled - no backup run"
562 jcrisp 1.7 echo "Test mode $TEST"
563 jcrisp 1.6 exit 0
564     fi
565    
566     exit 0

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