]> git.ipfire.org Git - people/meitelwein/ipfire-2.x.git/blame - config/rootfiles/core/96/update.sh
ramdisk: Backup ramdisks once a night
[people/meitelwein/ipfire-2.x.git] / config / rootfiles / core / 96 / update.sh
CommitLineData
cfac8f94
AF
1#!/bin/bash
2############################################################################
3# #
4# This file is part of the IPFire Firewall. #
5# #
6# IPFire is free software; you can redistribute it and/or modify #
7# it under the terms of the GNU General Public License as published by #
8# the Free Software Foundation; either version 3 of the License, or #
9# (at your option) any later version. #
10# #
11# IPFire is distributed in the hope that it will be useful, #
12# but WITHOUT ANY WARRANTY; without even the implied warranty of #
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
14# GNU General Public License for more details. #
15# #
16# You should have received a copy of the GNU General Public License #
17# along with IPFire; if not, write to the Free Software #
18# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
19# #
20# Copyright (C) 2015 IPFire-Team <info@ipfire.org>. #
21# #
22############################################################################
23#
24. /opt/pakfire/lib/functions.sh
25/usr/local/bin/backupctrl exclude >/dev/null 2>&1
26
27# Remove old core updates from pakfire cache to save space...
28core=96
29for (( i=1; i<=$core; i++ ))
30do
31 rm -f /var/cache/pakfire/core-upgrade-*-$i.ipfire
32done
33
34# Stop services
84c5f0d6 35/etc/init.d/fcron stop
228bec09
MT
36/etc/init.d/collectd stop
37qosctrl stop
38
39# Backup RRDs
40if [ -d "/var/log/rrd.bak" ]; then
41 # Umount ramdisk
42 umount -l "/var/log/rrd"
43 rm -f "/var/log/rrd"
44
45 mv "/var/log/rrd.bak/vnstat" "/var/log/vnstat"
46 mv "/var/log/rrd.bak" "/var/log/rrd"
47fi
48
49# Remove old scripts
50rm -f /etc/rc.d/init.d/tmpfs \
51 /etc/rc.d/rc0.d/K85tmpfs \
52 /etc/rc.d/rc3.d/S01tmpfs \
53 /etc/rc.d/rc6.d/K85tmpfs
cfac8f94
AF
54
55# Extract files
56extract_files
57
58# Update Language cache
59# /usr/local/bin/update-lang-cache
60
228bec09
MT
61# Keep (almost) old ramdisk behaviour
62if [ ! -e "/etc/sysconfig/ramdisk" ]; then
63 echo "RAMDISK_MODE=2" > /etc/sysconfig/ramdisk
64fi
65
84c5f0d6
MT
66if [ -L "/var/spool/cron" ]; then
67 rm -f /var/spool/cron
68 mv /var/log/rrd/cron /var/spool/cron
69 chown cron:cron /var/spool/cron
08729f79
MT
70
71 # Add new crontab entries
72 sed -i /var/spool/cron/root.orig -e "/tmpfs backup/d"
73 grep -q "collectd backup" /var/spool/cron/root.orig || cat <<EOF >> /var/spool/cron/root.orig
74# Backup ramdisks if necessary
75%nightly,random * 23-4 /etc/init.d/collectd backup &>/dev/null
76%nightly,random * 23-4 /etc/init.d/vnstat backup &>/dev/null
77EOF
78 fcrontab -z
84c5f0d6
MT
79fi
80
cfac8f94 81# Start services
228bec09
MT
82/etc/init.d/collectd start
83/etc/init.d/vnstat start
84c5f0d6 84/etc/init.d/fcron start
5a0ddc61 85/etc/init.d/dnsmasq restart
228bec09 86qosctrl start
cfac8f94 87
5b2155bf
MT
88# Disable loading of cryptodev
89sed -e "s/^cryptodev/# &/g" -i /etc/sysconfig/modules
90
cfac8f94
AF
91# This update need a reboot...
92#touch /var/run/need_reboot
93
94# Finish
95/etc/init.d/fireinfo start
96sendprofile
97# Update grub config to display new core version
98if [ -e /boot/grub/grub.cfg ]; then
99 grub-mkconfig -o /boot/grub/grub.cfg
100fi
101sync
102
103# Don't report the exitcode last command
104exit 0