/[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.5 - (show annotations) (download) (as text)
Fri Oct 22 02:13:38 2021 UTC (3 years, 1 month ago) by jpp
Branch: MAIN
CVS Tags: smeserver-migratehelper-1_0-5_el7_sme
Changes since 1.4: +17 -0 lines
Content type: application/x-sh
* Thu Oct 21 2021 Jean-Philippe Pialasse <tests@pialasse.com> 1.0-5.sme
- fix missing samba domain user [SME: 11706]
- fix missing user cron jobs [SME: 11664]

1 #!/bin/bash
2
3 cd /root
4 # list of included files to the backup
5 # note we are not including /home/e-smith/{files,shares} and /home/e-smith/db/mysql*/{daily,hourly}
6 # you are responsible to backup and restore them separatly
7 cat <<'EOF' > dir.list
8 /etc/e-smith/templates-custom
9 /etc/e-smith/templates-user-custom
10 /etc/group
11 /etc/gshadow
12 /etc/passwd
13 /etc/samba/secrets.tdb
14 /etc/samba/smbpasswd
15 /etc/shadow
16 /etc/ssh
17 /etc/sudoers
18 /root
19 /home/e-smith/Maildir
20 /home/e-smith/home
21 /home/e-smith/ssl.crt
22 /home/e-smith/ssl.key
23 /home/e-smith/dkim_keys
24 /home/e-smith/db
25 /var/lib/dhcpd/dhcpd.leases
26 /var/log/qpsmtpd
27 /var/log/sqpsmtpd
28 /var/log/qmail
29 /var/log/httpd/
30 /var/log/dovecot/
31 /var/log/squid/
32 /var/log/iptables/
33 /var/spool/mail/
34 /var/spool/spamd/
35 /var/spool/cron/
36 EOF
37
38 [ -e /etc/smbpasswd ] && cat <<'EOF' >> dir.list
39 /etc/smbpasswd
40 EOF
41
42 [ -e /var/log/samba/samba_audit ] && cat <<'EOF' >> dir.list
43 /var/log/samba/samba_audit
44 EOF
45
46 [ -e /etc/samba/schannel_store.tdb ] && cat <<'EOF' >> dir.list
47 /etc/samba/schannel_store.tdb
48 EOF
49
50 [ -e /var/lib/samba/group_mapping.tdb ] && cat <<'EOF' >> dir.list
51 /var/lib/samba/group_mapping.tdb
52 EOF
53
54 [ -e /var/lib/samba/account_policy.tdb ] && cat <<'EOF' >> dir.list
55 /var/lib/samba/account_policy.tdb
56 EOF
57
58 [ -e /var/log/samba/samba_audit ] && cat <<'EOF' >> dir.list
59 /var/log/samba/samba_audit
60 EOF
61
62 [ -e /var/service/qpsmtpd/config/dkimkeys/ ] && cat <<'EOF' >> dir.list
63 /var/service/qpsmtpd/config/dkimkeys/
64 EOF
65
66 ## add here inclusion from db key
67
68 ## exclude files
69 cat <<EOF >exclude.list
70 /home/e-smith/db/mysql/daily
71 /home/e-smith/db/mysql/hourly
72 /home/e-smith/db/mysql55/daily
73 /home/e-smith/db/mysql55/hourly
74 /home/e-smith/db/mysql57/daily
75 /home/e-smith/db/mysql57/hourly
76 /home/e-smith/files
77 /home/e-smith/shares
78 /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/20LoadModule80PHP
79 /etc/e-smith/templates-custom/etc/hosts.allow/sshd
80 /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/35SSL00Listen443
81 /etc/e-smith/templates-custom/etc/dhcpd.conf/25DomainNameServers
82 /etc/e-smith/templates-custom/etc/dhcpd.conf/25LeaseTimeDefault
83 /etc/e-smith/templates-custom/etc/dhcpd.conf/25LeaseTimeMax
84 /etc/e-smith/templates-custom/etc/dhcpd.conf/25Routers
85 EOF
86
87 ## add here exclusion from db key
88
89 # search for local script added
90 find /usr/local/bin/ -type f | xargs -I % sh -c "rpm -qf % 2>&1 > /dev/null || echo % >> dir.list"
91 # search for local dir script added
92 find /usr/local/ -maxdepth 1 -type d | xargs -I % sh -c "rpm -qf % 2>&1 > /dev/null || echo % >> dir.list"
93 # search for cron files not owned by a rpm
94 find /etc/cron.* -type f | xargs -I % sh -c "rpm -qf % 2>&1 > /dev/null || echo % >> dir.list"
95 # search for udev rules not owned by a rpm ! oucl add an option there in case you change of hardware
96 find /etc/udev/rules.d/ -type f | xargs -I % sh -c "rpm -qf % 2>&1 > /dev/null || echo % >> dir.list"
97 # search for spamassassin user created config
98 find /etc/mail/spamassassin -maxdepth 1 -type f | xargs -I % sh -c "rpm -qf % 2>&1 > /dev/null || echo % >> dir.list"
99
100 ##################
101 #
102 # here starts the magic
103 # we backup each known corpm -q smeserver-dovecot ntribs folder
104 #
105 ##################
106 #smeserver-awstats.noarch
107 # data will be in /home/e-smith/files/users/admin
108 # we only backup the config files
109 rpm -q smeserver-awstats >/dev/null 2>&1 && cat <<'EOF' >> dir.list
110 /etc/e-smith/web/panels/manager/cgi-bin/.awstats/
111 EOF
112 # see with Daniel if they have a specific config
113 #rpm -q awstats >/dev/null 2>&1 && cat <<'EOF' >> dir.list
114 #/var/lib/awstats
115 #EOF
116 #for those we assume you handle yourself the backup or the pools in /var/lib/BackupPC
117 rpm -q smeserver-BackupPC >/dev/null 2>&1 && cat <<'EOF' >> dir.list
118 /etc/BackupPC
119 EOF
120 rpm -q smeserver-BackupPC4 >/dev/null 2>&1 && cat <<'EOF' >> dir.list
121 /etc/BackupPC
122 EOF
123 rpm -q smeserver-bandwidthd >/dev/null 2>&1 && cat <<'EOF' >> dir.list
124 /var/www/bandwidthd/
125 EOF
126 #smeserver-clamav-unofficial-sigs and clamav-unofficial-sigs
127 rpm -q smeserver-clamav-unofficial-sigs >/dev/null 2>&1 && cat <<'EOF' >> dir.list
128 /var/lib/clamav-unofficial-sigs/
129 EOF
130 #smeserver-dansguardian smeserver-dansguardian-panel
131 rpm -q smeserver-dansguardian >/dev/null 2>&1 && cat <<'EOF' >> dir.list
132 /etc/dansguardian/
133 EOF
134 #smeserver-denyhosts
135 rpm -q smeserver-denyhosts >/dev/null 2>&1 && cat <<'EOF' >> dir.list
136 /var/lib/denyhosts/
137 /etc/hosts.deny_ssh
138 /etc/hosts.deny_ssh.purge.bak
139 EOF
140 rpm -q smeserver-dl >/dev/null 2>&1 && cat <<'EOF' >> dir.list
141 /var/lib/dl/
142 EOF
143 rpm -q dokuwiki >/dev/null 2>&1 && cat <<'EOF' >> dir.list
144 /etc/dokuwiki/acl.auth.php
145 /etc/dokuwiki/acronyms.conf
146 /etc/dokuwiki/entities.conf
147 /etc/dokuwiki/interwiki.conf
148 /etc/dokuwiki/local.php
149 /etc/dokuwiki/plugins.local.php
150 /etc/dokuwiki/scheme.conf
151 /var/lib/dokuwiki/data/attic
152 /var/lib/dokuwiki/data/index
153 /var/lib/dokuwiki/data/media
154 /var/lib/dokuwiki/data/media_attic
155 /var/lib/dokuwiki/data/media_meta
156 /var/lib/dokuwiki/data/meta
157 /var/lib/dokuwiki/data/pages
158 EOF
159 rpm -q dokuwiki >/dev/null 2>&1 && for D in /usr/share/dokuwiki/lib/plugins/*;do
160 rpm -qf $D >/dev/null 2>&1 || echo $D >> dir.list
161 done
162
163
164 #rpm -q smeserver-dovecot >/dev/null 2>&1 && cat <<'EOF' >> dir.list
165 [ -e /etc/dovecot/sharemailbox ] && cat <<'EOF' >> dir.list
166 /etc/dovecot/sharemailbox/
167 EOF
168
169 #smeserver-durep
170 rpm -q smeserver-durep >/dev/null 2>&1 && cat <<'EOF' >> dir.list
171 /var/lib/durep
172 EOF
173 #smeserver-ezmlm-web
174 rpm -q smeserver-ezmlm-web >/dev/null 2>&1 && cat <<'EOF' >> dir.list
175 /home/e-smith/files/ezmlm
176 EOF
177 [ -e /var/lib/phone ] && cat <<'EOF' >> dir.list
178 /var/lib/phone
179 EOF
180 rpm -q smeserver-freepbx >/dev/null 2>&1 && cat <<'EOF' >> dir.list
181 /opt/freepbx
182 /var/lib/asterisk/
183 /etc/asterisk
184 /var/spool/asterisk/
185 /var/log/asterisk
186 /usr/local/sbin/amportal
187 /usr/local/sbin/fwconsole
188 /usr/sbin/amportal
189 /usr/sbin/fwconsole
190 EOF
191 # smeserver-fail2ban
192 if [ -d /etc/fail2ban/action.d ]; then
193 for F in $(ls /etc/fail2ban/action.d/);do
194 rpm -qf /etc/fail2ban/action.d/$F >/dev/null 2>&1 || echo /etc/fail2ban/action.d/$F >> dir.list
195 done
196 fi
197 if [ -d /etc/fail2ban/fail2ban.d ]; then
198 for F in $(ls /etc/fail2ban/fail2ban.d/);do
199 rpm -qf /etc/fail2ban/fail2ban.d/$F >/dev/null 2>&1 || echo /etc/fail2ban/fail2ban.d/$F >> dir.list
200 done
201 fi
202 if [ -d /etc/fail2ban/filter.d ]; then
203 for F in $(ls /etc/fail2ban/filter.d/);do
204 rpm -qf /etc/fail2ban/filter.d/$F >/dev/null 2>&1 || echo /etc/fail2ban/filter.d/$F >> dir.list
205 done
206 fi
207 if [ -d /etc/fail2ban/jail.d ]; then
208 for F in $(/etc/fail2ban/jail.d/);do
209 rpm -qf /etc/fail2ban/jail.d/$F >/dev/null 2>&1 || echo /etc/fail2ban/jail.d/$F >> dir.list
210 done
211 fi
212 rpm -q smeserver-grr >/dev/null 2>&1 && cat <<'EOF' >> dir.list
213 /usr/share/grr/images/
214 EOF
215 rpm -q ipasserelle-im >/dev/null 2>&1 && cat <<'EOF' >> dir.list
216 /var/lib/ejabberd/
217 /var/log/ejabberd.run
218 EOF
219 #smeserver-isoqlog
220 rpm -q smeserver-isoqlog >/dev/null 2>&1 && cat <<'EOF' >> dir.list
221 /var/lib/qmailtools/isoqlog/htdocs/
222 EOF
223 rpm -q smeserver-jappix >/dev/null 2>&1 && cat <<'EOF' >> dir.list
224 /var/lib/jappix/
225 /var/log/jappix
226 EOF
227 rpm -q smeserver-lemonldap-ng >/dev/null 2>&1 && cat <<'EOF' >> dir.list
228 /var/lib/lemonldap-ng/conf
229 /var/lib/lemonldap-ng/notifications
230 EOF
231 #smeserver-letsencrypt
232 #rpm -q smeserver-letsencrypt >/dev/null 2>&1 && cat <<'EOF' >> dir.list
233 [ -d /etc/letsencrypt.sh/ ] && cat <<'EOF' >> dir.list
234 /etc/letsencrypt.sh/
235 EOF
236 [ -d /etc/dehydrated/ ] && cat <<'EOF' >> dir.list
237 /etc/dehydrated/
238 EOF
239
240 rpm -q smeserver-limesurvey >/dev/null 2>&1 && cat <<'EOF' >> dir.list
241 /var/lib/limesurvey/uploads
242 EOF
243 rpm -q ipasserelle-listes >/dev/null 2>&1 && cat <<'EOF' >> dir.list
244 /var/lib/mailman/
245 /usr/lib/mailman/aliases/
246 EOF
247 if [ -d /usr/share/mozilla-mcd/ ]; then
248 for F in /usr/share/mozilla-mcd/*;do
249 rpm -qf $F >/dev/null 2>&1 || echo $F >> dir.list
250 done
251 fi
252 rpm -q smeserver-madsonic >/dev/null 2>&1 && cat <<'EOF' >> dir.list
253 /var/madsonic/db/
254 /var/madsonic/madsonic.properties
255 /var/madsonic/madsonic.log
256 /var/madsonic/madsonic_sh.log
257 EOF
258 rpm -q smeserver-mailman >/dev/null 2>&1 && cat <<'EOF' >> dir.list
259 /var/lib/mailman/
260 /usr/lib/mailman/aliases/
261 EOF
262 rpm -q smeserver-nextcloud >/dev/null 2>&1 && cat <<'EOF' >> dir.list
263 /usr/share/nextcloud/
264 EOF
265 rpm -q smeserver-ntop >/dev/null 2>&1 && cat <<'EOF' >> dir.list
266 /var/lib/ntop/
267 EOF
268 rpm -q phpki >/dev/null 2>&1 && cat <<'EOF' >> dir.list
269 /opt/phpki/phpki-store/
270 /opt/phpki/html/config.php
271 EOF
272 rpm -q smeserver-openvpn-bridge >/dev/null 2>&1 && cat <<'EOF' >> dir.list
273 /etc/openvpn/bridge/priv
274 /etc/openvpn/bridge/pub
275 /var/log/openvpn-bridge
276 EOF
277 rpm -q smeserver-openvpn-s2s >/dev/null 2>&1 && cat <<'EOF' >> dir.list
278 /etc/openvpn/s2s/priv
279 /etc/openvpn/s2s/pub
280 /var/log/openvpn-s2s
281 EOF
282 rpm -q smeserver-openvpn-routed >/dev/null 2>&1 && cat <<'EOF' >> dir.list
283 /etc/openvpn/routed/priv
284 /etc/openvpn/routed/pub
285 /var/log/openvpn-routed
286 EOF
287 rpm -q smeserver-phpki >/dev/null 2>&1 && cat <<'EOF' >> dir.list
288 /opt/phpki/
289 EOF
290 rpm -q smeserver-phpki-ng >/dev/null 2>&1 && cat <<'EOF' >> dir.list
291 /opt/phpki/
292 EOF
293 rpm -q pydio >/dev/null 2>&1 && cat <<'EOF' >> dir.list
294 /var/lib/pydio/files
295 /var/lib/pydio/personal
296 /var/lib/pydio/public
297 /var/log/pydio
298 EOF
299
300 rpm -q smeserver-sarg >/dev/null 2>&1 && cat <<'EOF' >> dir.list
301 /var/www/sarg/
302 EOF
303 #smeserver-sme8admin
304 rpm -q smeserver-sme8admin >/dev/null 2>&1 && cat <<'EOF' >> dir.list
305 /var/lib/sme8admin/
306 EOF
307 #smeserver-sme9admin
308 rpm -q smeserver-sme9admin >/dev/null 2>&1 && cat <<'EOF' >> dir.list
309 /var/lib/sme9admin/
310 EOF
311 #smeserver-sysmon
312 rpm -q smeserver-sysmon >/dev/null 2>&1 && cat <<'EOF' >> dir.list
313 /var/lib/rrd/
314 EOF
315 rpm -q smeserver-tftp-server >/dev/null 2>&1 && cat <<'EOF' >> dir.list
316 /tftpboot
317 EOF
318 rpm -q smeserver-transmission >/dev/null 2>&1 && cat <<'EOF' >> dir.list
319 /var/lib/transmission/Downloads
320 EOF
321 rpm -q smeserver-unifi >/dev/null 2>&1 && cat <<'EOF' >> dir.list
322 /opt/UniFi
323 /opt/UniFi_bak
324 EOF
325 rpm -q smeserver-xinetd >/dev/null 2>&1 && cat <<'EOF' >> dir.list
326 /etc/rsyncd.conf
327 /etc/xinetd.d/rsync
328 /etc/logrotate.d/rsyncd
329 EOF
330 rpm -q smeserver-xt_geoip >/dev/null 2>&1 && cat <<'EOF' >> dir.list
331 /usr/share/xt_geoip/BE/
332 /usr/share/xt_geoip/LE/
333 /var/lib/xt_geoip/
334 EOF
335 rpm -q smeserver-webfilter >/dev/null 2>&1 && cat <<'EOF' >> dir.list
336 /var/squidGuard/blacklists/
337 EOF
338 #smeserver-webshares
339 rpm -q smeserver-webshares >/dev/null 2>&1 && cat <<'EOF' >> dir.list
340 /opt/webshare
341 EOF
342 # smeserver-zabbix-server smeserver-zabbix-agent smeserver-zabbix-proxy
343 if [ -d /etc/zabbix ]; then
344 for F in /etc/zabbix/*;do
345 rpm -qf $F >/dev/null 2>&1 || echo $F >> dir.list
346 done
347 fi
348 if [ -d /etc/zabbix/zabbix_agentd.conf.d ]; then
349 for F in /etc/zabbix/zabbix_agentd.conf.d/*;do
350 rpm -qf $F >/dev/null 2>&1 || echo $F >> dir.list
351 done
352 fi
353 if [ -d /var/lib/zabbix/bin ]; then
354 for F in /var/lib/zabbix/bin/*;do
355 rpm -qf $F >/dev/null 2>&1 || echo $F >> dir.list
356 done
357 fi
358 rpm -q smeserver-zoneminder >/dev/null 2>&1 && cat <<'EOF' >> dir.list
359 /var/lib/zoneminder
360 /var/log/zoneminder
361 /var/spool/zoneminder-upload
362 EOF
363
364 #contribs we are aware of, but NOTHING TO DO
365 #smeserver-email-management
366 #smeserver-geoip
367 #smeserver-kronolith
368 #smeserver-lazy_admin_tools
369 #smeserver-learn
370 #smeserver-mailsorting
371 #smeserver-mailstats
372 #smeserver-mod_dav
373 #smeserver-nag
374 #smeserver-php-fpm
375 #smeserver-php-scl
376 #smeserver-phpldapadmin.
377 #smeserver-phpsysinfo
378 #smeserver-qmHandle
379 #smeserver-remoteuseraccess
380 #smeserver-userpanel
381 #smeserver-userpanels
382 #smeserver-vacation
383 #smeserver-wbl
384 #smeserver-webapps-common
385 #smeserver-webhosting
386 #smeserver-bridge-interface
387 #smeserver-ddclient
388 #smeserver-mediatomb
389 #smeserver-sane
390 #smeserver-usbdisksmanager
391
392 #we might get issue there with .rpmnew files
393 # but we need to get the same version as in db
394
395 # for F in /usr/share/nextcloud/apps/*;do
396 # rpm -qf $F >/dev/null 2>&1 || echo $F >> dir.list
397 # done
398
399
400
401 ## add here selection for test or live and stop services
402 /sbin/e-smith/audittools/newrpms > /root/newrpms
403 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
404 cat /root/newrpms|grep @ |cut -d' ' -f1|sed 's/.noarch//g'| sed 's/.x86_64//g'|sed 's/.i386//g'|sort >/root/rpmsextra
405 #ADD here
406 mkdir -p /root/migratehelper/{yumDownload,lists}
407 # filter out in file per repo
408 # run trhough all created files for /root/migratehelper/lists/RpmsPerRepos_*.list
409 # and yum reinstall --downloadonly --downloaddir=/root/migratehelper/yumDownload # mayded followed by yum update --downloadonly --downloaddir=/root/migratehelper/yumDownload
410 # or yum install --downloadonly --downloaddir=/root/migratehelper/yumDownload --installroot=/root/migratehelper/ smeserver-yum --enablerepo=smeos,base --releasever=6
411 # or after requiring yum-utils (bug it seems to only download to current dir whatever you do:
412 # cd /root/migratehelper/yumDownload; yumdownloader install --downloadonly --downloaddir=. smeserver-freepbx -y --diablerepo=* --enablerepo=$repo --releasever=6
413
414 #### stop services so no changes occurs
415 if [ -e /usr/lib/systemd/system/qmail.service ]; then
416 /usr/bin/systemctl stop qmail.service qpsmtpd.service sqpsmtpd.service ejabberd.service smb.service smbd.service nmbd.service httpd-e-smith.service
417 else
418 sv d /service/qmail
419 sv d /service/qpsmtpd
420 sv d /service/sqpsmtpd
421 [ -e /service/ejabberd ] && sv d /service/ejabberd
422 sv d /service/smbd
423 sv d /service/httpd-e-smith
424 fi
425 #### prebackup
426 signal-event pre-backup
427 tar cvzf /mnt/backup/smeserver.tgz -T dir.list --exclude-from exclude.list --xattrs

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