/[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.2 - (show annotations) (download) (as text)
Fri Apr 2 02:33:53 2021 UTC (3 years, 7 months ago) by jpp
Branch: MAIN
CVS Tags: smeserver-migratehelper-1_0-2_el7_sme
Changes since 1.1: +4 -0 lines
Content type: application/x-sh
* Thu Apr 01 2021 Jean-Philippe Pialasse <tests@pialasse.com> 1.0-2.sme
- add backup of spamassassin admin config
- add search for non rpm owned folder in /usr/local

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