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

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

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


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

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