mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-28 11:43:25 +02:00
Remove ramdisks for RRD databases
Ramdisks are very limited in space and as new graphs are generated for OpenVPN N2N connections, etc. more space is necessary. This patch will enable ramdisks for all systems with more than 490M of memory and allows the user to force using a ramdisk on systems with less memory. Signed-off-by: Alexander Marx <alexander.marx@ipfire.org> Acked-by: Arne Fitzenreiter <arne.fitzenreiter@ipfire.org> Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This commit is contained in:
committed by
Michael Tremer
parent
74e5c32e19
commit
c4a451eead
@@ -125,12 +125,13 @@ etc/rc.d/init.d/sysctl
|
|||||||
etc/rc.d/init.d/sysklogd
|
etc/rc.d/init.d/sysklogd
|
||||||
etc/rc.d/init.d/template
|
etc/rc.d/init.d/template
|
||||||
#etc/rc.d/init.d/tftpd
|
#etc/rc.d/init.d/tftpd
|
||||||
etc/rc.d/init.d/tmpfs
|
#etc/rc.d/init.d/tmpfs
|
||||||
#etc/rc.d/init.d/tor
|
#etc/rc.d/init.d/tor
|
||||||
etc/rc.d/init.d/udev
|
etc/rc.d/init.d/udev
|
||||||
etc/rc.d/init.d/udev_retry
|
etc/rc.d/init.d/udev_retry
|
||||||
etc/rc.d/init.d/upnpd
|
etc/rc.d/init.d/upnpd
|
||||||
#etc/rc.d/init.d/vdr
|
#etc/rc.d/init.d/vdr
|
||||||
|
etc/rc.d/init.d/vnstat
|
||||||
#etc/rc.d/init.d/vdradmin
|
#etc/rc.d/init.d/vdradmin
|
||||||
#etc/rc.d/init.d/vsftpd
|
#etc/rc.d/init.d/vsftpd
|
||||||
#etc/rc.d/init.d/watchdog
|
#etc/rc.d/init.d/watchdog
|
||||||
@@ -149,13 +150,14 @@ etc/rc.d/rc0.d/K30sshd
|
|||||||
etc/rc.d/rc0.d/K45random
|
etc/rc.d/rc0.d/K45random
|
||||||
etc/rc.d/rc0.d/K47setclock
|
etc/rc.d/rc0.d/K47setclock
|
||||||
etc/rc.d/rc0.d/K49cyrus-sasl
|
etc/rc.d/rc0.d/K49cyrus-sasl
|
||||||
|
etc/rc.d/rc0.d/K51vnstat
|
||||||
etc/rc.d/rc0.d/K78snort
|
etc/rc.d/rc0.d/K78snort
|
||||||
etc/rc.d/rc0.d/K79leds
|
etc/rc.d/rc0.d/K79leds
|
||||||
etc/rc.d/rc0.d/K80network
|
etc/rc.d/rc0.d/K80network
|
||||||
etc/rc.d/rc0.d/K82wlanclient
|
etc/rc.d/rc0.d/K82wlanclient
|
||||||
#etc/rc.d/rc0.d/K84bluetooth
|
#etc/rc.d/rc0.d/K84bluetooth
|
||||||
#etc/rc.d/rc0.d/K85messagebus
|
#etc/rc.d/rc0.d/K85messagebus
|
||||||
etc/rc.d/rc0.d/K85tmpfs
|
#etc/rc.d/rc0.d/K85tmpfs
|
||||||
etc/rc.d/rc0.d/K90sysklogd
|
etc/rc.d/rc0.d/K90sysklogd
|
||||||
etc/rc.d/rc0.d/S60sendsignals
|
etc/rc.d/rc0.d/S60sendsignals
|
||||||
etc/rc.d/rc0.d/S70localnet
|
etc/rc.d/rc0.d/S70localnet
|
||||||
@@ -163,7 +165,8 @@ etc/rc.d/rc0.d/S80mountfs
|
|||||||
etc/rc.d/rc0.d/S90swap
|
etc/rc.d/rc0.d/S90swap
|
||||||
etc/rc.d/rc0.d/S99halt
|
etc/rc.d/rc0.d/S99halt
|
||||||
#etc/rc.d/rc3.d
|
#etc/rc.d/rc3.d
|
||||||
etc/rc.d/rc3.d/S01tmpfs
|
#etc/rc.d/rc3.d/S01tmpfs
|
||||||
|
etc/rc.d/rc3.d/S01vnstat
|
||||||
etc/rc.d/rc3.d/S10sysklogd
|
etc/rc.d/rc3.d/S10sysklogd
|
||||||
#etc/rc.d/rc3.d/S15messagebus
|
#etc/rc.d/rc3.d/S15messagebus
|
||||||
#etc/rc.d/rc3.d/S16bluetooth
|
#etc/rc.d/rc3.d/S16bluetooth
|
||||||
@@ -197,13 +200,14 @@ etc/rc.d/rc6.d/K30sshd
|
|||||||
etc/rc.d/rc6.d/K45random
|
etc/rc.d/rc6.d/K45random
|
||||||
etc/rc.d/rc6.d/K47setclock
|
etc/rc.d/rc6.d/K47setclock
|
||||||
etc/rc.d/rc6.d/K49cyrus-sasl
|
etc/rc.d/rc6.d/K49cyrus-sasl
|
||||||
|
etc/rc.d/rc6.d/K51vnstat
|
||||||
etc/rc.d/rc6.d/K78snort
|
etc/rc.d/rc6.d/K78snort
|
||||||
etc/rc.d/rc6.d/K79leds
|
etc/rc.d/rc6.d/K79leds
|
||||||
etc/rc.d/rc6.d/K80network
|
etc/rc.d/rc6.d/K80network
|
||||||
etc/rc.d/rc6.d/K82wlanclient
|
etc/rc.d/rc6.d/K82wlanclient
|
||||||
#etc/rc.d/rc6.d/K84bluetooth
|
#etc/rc.d/rc6.d/K84bluetooth
|
||||||
#etc/rc.d/rc6.d/K85messagebus
|
#etc/rc.d/rc6.d/K85messagebus
|
||||||
etc/rc.d/rc6.d/K85tmpfs
|
#etc/rc.d/rc6.d/K85tmpfs
|
||||||
etc/rc.d/rc6.d/K90sysklogd
|
etc/rc.d/rc6.d/K90sysklogd
|
||||||
etc/rc.d/rc6.d/S60sendsignals
|
etc/rc.d/rc6.d/S60sendsignals
|
||||||
etc/rc.d/rc6.d/S70mountfs
|
etc/rc.d/rc6.d/S70mountfs
|
||||||
|
|||||||
@@ -126,13 +126,14 @@ etc/rc.d/init.d/sysctl
|
|||||||
etc/rc.d/init.d/sysklogd
|
etc/rc.d/init.d/sysklogd
|
||||||
etc/rc.d/init.d/template
|
etc/rc.d/init.d/template
|
||||||
#etc/rc.d/init.d/tftpd
|
#etc/rc.d/init.d/tftpd
|
||||||
etc/rc.d/init.d/tmpfs
|
#etc/rc.d/init.d/tmpfs
|
||||||
#etc/rc.d/init.d/tor
|
#etc/rc.d/init.d/tor
|
||||||
#etc/rc.d/init.d/transmission
|
#etc/rc.d/init.d/transmission
|
||||||
etc/rc.d/init.d/udev
|
etc/rc.d/init.d/udev
|
||||||
etc/rc.d/init.d/udev_retry
|
etc/rc.d/init.d/udev_retry
|
||||||
etc/rc.d/init.d/upnpd
|
etc/rc.d/init.d/upnpd
|
||||||
#etc/rc.d/init.d/vdr
|
#etc/rc.d/init.d/vdr
|
||||||
|
etc/rc.d/init.d/vnstat
|
||||||
#etc/rc.d/init.d/vdradmin
|
#etc/rc.d/init.d/vdradmin
|
||||||
#etc/rc.d/init.d/vsftpd
|
#etc/rc.d/init.d/vsftpd
|
||||||
#etc/rc.d/init.d/watchdog
|
#etc/rc.d/init.d/watchdog
|
||||||
@@ -151,13 +152,14 @@ etc/rc.d/rc0.d/K30sshd
|
|||||||
etc/rc.d/rc0.d/K45random
|
etc/rc.d/rc0.d/K45random
|
||||||
etc/rc.d/rc0.d/K47setclock
|
etc/rc.d/rc0.d/K47setclock
|
||||||
etc/rc.d/rc0.d/K49cyrus-sasl
|
etc/rc.d/rc0.d/K49cyrus-sasl
|
||||||
|
etc/rc.d/rc0.d/K51vnstat
|
||||||
etc/rc.d/rc0.d/K78snort
|
etc/rc.d/rc0.d/K78snort
|
||||||
etc/rc.d/rc0.d/K79leds
|
etc/rc.d/rc0.d/K79leds
|
||||||
etc/rc.d/rc0.d/K80network
|
etc/rc.d/rc0.d/K80network
|
||||||
etc/rc.d/rc0.d/K82wlanclient
|
etc/rc.d/rc0.d/K82wlanclient
|
||||||
#etc/rc.d/rc0.d/K84bluetooth
|
#etc/rc.d/rc0.d/K84bluetooth
|
||||||
#etc/rc.d/rc0.d/K85messagebus
|
#etc/rc.d/rc0.d/K85messagebus
|
||||||
etc/rc.d/rc0.d/K85tmpfs
|
#etc/rc.d/rc0.d/K85tmpfs
|
||||||
etc/rc.d/rc0.d/K87acpid
|
etc/rc.d/rc0.d/K87acpid
|
||||||
etc/rc.d/rc0.d/K90sysklogd
|
etc/rc.d/rc0.d/K90sysklogd
|
||||||
etc/rc.d/rc0.d/S60sendsignals
|
etc/rc.d/rc0.d/S60sendsignals
|
||||||
@@ -166,7 +168,8 @@ etc/rc.d/rc0.d/S80mountfs
|
|||||||
etc/rc.d/rc0.d/S90swap
|
etc/rc.d/rc0.d/S90swap
|
||||||
etc/rc.d/rc0.d/S99halt
|
etc/rc.d/rc0.d/S99halt
|
||||||
#etc/rc.d/rc3.d
|
#etc/rc.d/rc3.d
|
||||||
etc/rc.d/rc3.d/S01tmpfs
|
#etc/rc.d/rc3.d/S01tmpfs
|
||||||
|
etc/rc.d/rc3.d/S01vnstat
|
||||||
etc/rc.d/rc3.d/S10sysklogd
|
etc/rc.d/rc3.d/S10sysklogd
|
||||||
etc/rc.d/rc3.d/S12acpid
|
etc/rc.d/rc3.d/S12acpid
|
||||||
#etc/rc.d/rc3.d/S15messagebus
|
#etc/rc.d/rc3.d/S15messagebus
|
||||||
@@ -201,13 +204,14 @@ etc/rc.d/rc6.d/K30sshd
|
|||||||
etc/rc.d/rc6.d/K45random
|
etc/rc.d/rc6.d/K45random
|
||||||
etc/rc.d/rc6.d/K47setclock
|
etc/rc.d/rc6.d/K47setclock
|
||||||
etc/rc.d/rc6.d/K49cyrus-sasl
|
etc/rc.d/rc6.d/K49cyrus-sasl
|
||||||
|
etc/rc.d/rc6.d/K51vnstat
|
||||||
etc/rc.d/rc6.d/K78snort
|
etc/rc.d/rc6.d/K78snort
|
||||||
etc/rc.d/rc6.d/K79leds
|
etc/rc.d/rc6.d/K79leds
|
||||||
etc/rc.d/rc6.d/K80network
|
etc/rc.d/rc6.d/K80network
|
||||||
etc/rc.d/rc6.d/K82wlanclient
|
etc/rc.d/rc6.d/K82wlanclient
|
||||||
#etc/rc.d/rc6.d/K84bluetooth
|
#etc/rc.d/rc6.d/K84bluetooth
|
||||||
#etc/rc.d/rc6.d/K85messagebus
|
#etc/rc.d/rc6.d/K85messagebus
|
||||||
etc/rc.d/rc6.d/K85tmpfs
|
#etc/rc.d/rc6.d/K85tmpfs
|
||||||
etc/rc.d/rc6.d/K87acpid
|
etc/rc.d/rc6.d/K87acpid
|
||||||
etc/rc.d/rc6.d/K90sysklogd
|
etc/rc.d/rc6.d/K90sysklogd
|
||||||
etc/rc.d/rc6.d/S60sendsignals
|
etc/rc.d/rc6.d/S60sendsignals
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ etc/profile.d/term256.sh
|
|||||||
etc/profile.d/umask.sh
|
etc/profile.d/umask.sh
|
||||||
etc/resolv.conf
|
etc/resolv.conf
|
||||||
etc/securetty
|
etc/securetty
|
||||||
|
etc/sysconfig/ramdisk
|
||||||
etc/sysctl.conf
|
etc/sysctl.conf
|
||||||
etc/syslog.conf
|
etc/syslog.conf
|
||||||
etc/system-release
|
etc/system-release
|
||||||
|
|||||||
@@ -61,6 +61,9 @@ $(TARGET) :
|
|||||||
-rm -rf /etc/init.d
|
-rm -rf /etc/init.d
|
||||||
ln -svf rc.d/init.d /etc/init.d
|
ln -svf rc.d/init.d /etc/init.d
|
||||||
|
|
||||||
|
#create ramdiskfile to force ramdiskcreation if FORCE=1
|
||||||
|
echo "FORCE=0" > /etc/sysconfig/ramdisk
|
||||||
|
|
||||||
for i in $(DIR_SRC)/src/initscripts/init.d/*; do \
|
for i in $(DIR_SRC)/src/initscripts/init.d/*; do \
|
||||||
install -v -m 754 $$i /etc/rc.d/init.d/; \
|
install -v -m 754 $$i /etc/rc.d/init.d/; \
|
||||||
done
|
done
|
||||||
@@ -128,9 +131,6 @@ $(TARGET) :
|
|||||||
ln -sf ../init.d/random /etc/rc.d/rc3.d/S25random
|
ln -sf ../init.d/random /etc/rc.d/rc3.d/S25random
|
||||||
ln -sf ../init.d/random /etc/rc.d/rc6.d/K45random
|
ln -sf ../init.d/random /etc/rc.d/rc6.d/K45random
|
||||||
ln -sf ../../sysconfig/rc.local /etc/rc.d/rc3.d/S98rc.local
|
ln -sf ../../sysconfig/rc.local /etc/rc.d/rc3.d/S98rc.local
|
||||||
ln -sf ../init.d/tmpfs /etc/rc.d/rc0.d/K85tmpfs
|
|
||||||
ln -sf ../init.d/tmpfs /etc/rc.d/rc3.d/S01tmpfs
|
|
||||||
ln -sf ../init.d/tmpfs /etc/rc.d/rc6.d/K85tmpfs
|
|
||||||
ln -sf ../init.d/mediatomb /etc/rc.d/rc3.d/S98mediatomb
|
ln -sf ../init.d/mediatomb /etc/rc.d/rc3.d/S98mediatomb
|
||||||
ln -sf ../init.d/mediatomb /etc/rc.d/rc0.d/K02mediatomb
|
ln -sf ../init.d/mediatomb /etc/rc.d/rc0.d/K02mediatomb
|
||||||
ln -sf ../init.d/mediatomb /etc/rc.d/rc6.d/K02mediatomb
|
ln -sf ../init.d/mediatomb /etc/rc.d/rc6.d/K02mediatomb
|
||||||
@@ -178,6 +178,9 @@ $(TARGET) :
|
|||||||
ln -sf ../init.d/firewall /etc/rc.d/rcsysinit.d/S85firewall
|
ln -sf ../init.d/firewall /etc/rc.d/rcsysinit.d/S85firewall
|
||||||
ln -sf ../init.d/network-trigger /etc/rc.d/rcsysinit.d/S90network-trigger
|
ln -sf ../init.d/network-trigger /etc/rc.d/rcsysinit.d/S90network-trigger
|
||||||
ln -sf ../init.d/rngd /etc/rc.d/rcsysinit.d/S92rngd
|
ln -sf ../init.d/rngd /etc/rc.d/rcsysinit.d/S92rngd
|
||||||
|
ln -sf ../init.d/vnstat /etc/rc.d/rc3.d/S01vnstat
|
||||||
|
ln -sf ../init.d/vnstat /etc/rc.d/rc0.d/K51vnstat
|
||||||
|
ln -sf ../init.d/vnstat /etc/rc.d/rc6.d/K51vnstat
|
||||||
ln -sf ../init.d/wlanclient /etc/rc.d/rc0.d/K82wlanclient
|
ln -sf ../init.d/wlanclient /etc/rc.d/rc0.d/K82wlanclient
|
||||||
ln -sf ../init.d/wlanclient /etc/rc.d/rc3.d/S19wlanclient
|
ln -sf ../init.d/wlanclient /etc/rc.d/rc3.d/S19wlanclient
|
||||||
ln -sf ../init.d/wlanclient /etc/rc.d/rc6.d/K82wlanclient
|
ln -sf ../init.d/wlanclient /etc/rc.d/rc6.d/K82wlanclient
|
||||||
|
|||||||
@@ -76,6 +76,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
|
|||||||
cd $(DIR_APP) && make all $(MAKETUNING) LOCAL_CONFIGURE_OPTIONS="--enable-readline=yes"
|
cd $(DIR_APP) && make all $(MAKETUNING) LOCAL_CONFIGURE_OPTIONS="--enable-readline=yes"
|
||||||
cd $(DIR_APP) && make install
|
cd $(DIR_APP) && make install
|
||||||
sed -i 's|eth0|green0|g' /etc/vnstat.conf
|
sed -i 's|eth0|green0|g' /etc/vnstat.conf
|
||||||
sed -i 's|/var/lib/vnstat|/var/log/rrd/vnstat|g' /etc/vnstat.conf
|
sed -i 's|/var/lib/vnstat|/var/log/vnstat|g' /etc/vnstat.conf
|
||||||
@rm -rf $(DIR_APP)
|
@rm -rf $(DIR_APP)
|
||||||
@$(POSTBUILD)
|
@$(POSTBUILD)
|
||||||
|
|||||||
@@ -77,7 +77,36 @@ case "${1}" in
|
|||||||
rm -rf /var/run
|
rm -rf /var/run
|
||||||
ln -s ../run /var/run
|
ln -s ../run /var/run
|
||||||
fi
|
fi
|
||||||
|
#
|
||||||
|
# create some folders
|
||||||
|
#
|
||||||
|
if [ ! -e /var/lock/subsys ]; then
|
||||||
|
mkdir -p /var/lock/subsys
|
||||||
|
fi
|
||||||
|
if [ ! -e /var/lock/time ]; then
|
||||||
|
mkdir -p /var/lock/time
|
||||||
|
chown nobody.root /var/lock/time
|
||||||
|
fi
|
||||||
|
if [ ! -e /var/run/clamav ]; then
|
||||||
|
mkdir -p /var/run/clamav
|
||||||
|
chown clamav:clamav /var/run/clamav
|
||||||
|
fi
|
||||||
|
if [ ! -e /var/run/cups ]; then
|
||||||
|
mkdir -p /var/run/cups
|
||||||
|
fi
|
||||||
|
if [ ! -e /var/run/dbus ]; then
|
||||||
|
mkdir -p /var/run/dbus
|
||||||
|
fi
|
||||||
|
if [ ! -e /var/run/mysql ]; then
|
||||||
|
mkdir -p /var/run/mysql
|
||||||
|
chown mysql:mysql /var/run/mysql
|
||||||
|
fi
|
||||||
|
if [ ! -e /var/run/saslauthd ]; then
|
||||||
|
mkdir -p /var/run/saslauthd
|
||||||
|
fi
|
||||||
|
if [ ! -e /var/log/vnstat ]; then
|
||||||
|
mkdir -p /var/log/vnstat
|
||||||
|
fi
|
||||||
boot_mesg -n "Cleaning file systems:" ${INFO}
|
boot_mesg -n "Cleaning file systems:" ${INFO}
|
||||||
|
|
||||||
boot_mesg -n " /tmp" ${NORMAL}
|
boot_mesg -n " /tmp" ${NORMAL}
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
. $rc_functions
|
. $rc_functions
|
||||||
|
|
||||||
eval $(/usr/local/bin/readhash /var/ipfire/main/settings)
|
eval $(/usr/local/bin/readhash /var/ipfire/main/settings)
|
||||||
|
eval $(/usr/local/bin/readhash /etc/sysconfig/ramdisk)
|
||||||
|
|
||||||
if [ "$RRDLOG" = '' ]; then
|
if [ "$RRDLOG" = '' ]; then
|
||||||
RRDLOG=/var/log/rrd
|
RRDLOG=/var/log/rrd
|
||||||
@@ -13,6 +14,35 @@ fi
|
|||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
start)
|
start)
|
||||||
|
if [ "$FORCE" == '1' ] || [ "$(mem_amount)" -gt "490" ];then
|
||||||
|
#mount ramdisk
|
||||||
|
if ! mountpoint $RRDLOG &>/dev/null; then
|
||||||
|
boot_mesg "Mount rrd Ramdisk..."
|
||||||
|
if [ $(find "$RRDLOG" | wc -l) -ne 1 ]; then
|
||||||
|
backup_ramdisk "$RRDLOG"
|
||||||
|
fi
|
||||||
|
mount_ramdisk "$RRDLOG"
|
||||||
|
evaluate_retval
|
||||||
|
#cleanup cron
|
||||||
|
if [ -e $RRDLOG.bak/cron/new.root ]; then
|
||||||
|
if [ -e $RRDLOG.bak/cron/root ]; then
|
||||||
|
rm -f $RRDLOG.bak/cron/new.root
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
#restore old values to ramdisk if exist
|
||||||
|
restore_ramdisk "$RRDLOG"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
restore_ramdisk "$RRDLOG"
|
||||||
|
fi
|
||||||
|
#
|
||||||
|
# Move /var/spool/cron to ramdisk and make a symlink
|
||||||
|
#
|
||||||
|
if [ ! -L /var/spool/cron ]; then
|
||||||
|
mv /var/spool/cron /var/log/rrd/cron
|
||||||
|
ln -s /var/log/rrd/cron /var/spool/cron
|
||||||
|
fi
|
||||||
|
|
||||||
# If run from init and collectd alrady started then exit silent
|
# If run from init and collectd alrady started then exit silent
|
||||||
if [ "$(basename $0)" != "collectd" ]; then
|
if [ "$(basename $0)" != "collectd" ]; then
|
||||||
if [ "$(ps -A | grep " collectd$")" != "" ]; then
|
if [ "$(ps -A | grep " collectd$")" != "" ]; then
|
||||||
@@ -106,10 +136,8 @@ case "$1" in
|
|||||||
boot_mesg "Stopping Collection daemon..."
|
boot_mesg "Stopping Collection daemon..."
|
||||||
killproc /usr/sbin/collectd
|
killproc /usr/sbin/collectd
|
||||||
evaluate_retval
|
evaluate_retval
|
||||||
# Save the ramdisk at manual stop but not at shutdown
|
backup_ramdisk "$RRDLOG"
|
||||||
if [ "$(basename $0)" == "collectd" ]; then
|
umount_ramdisk "$RRDLOG"
|
||||||
/etc/init.d/tmpfs backup
|
|
||||||
fi
|
|
||||||
# sync after backup...
|
# sync after backup...
|
||||||
sync
|
sync
|
||||||
;;
|
;;
|
||||||
|
|||||||
@@ -702,4 +702,35 @@ run_subdir() {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mem_amount() {
|
||||||
|
local pagesize="$(getconf PAGESIZE)"
|
||||||
|
local pages="$(getconf _PHYS_PAGES)"
|
||||||
|
|
||||||
|
echo "$(( ${pagesize} * ${pages} / 1024 / 1024 ))"
|
||||||
|
}
|
||||||
|
|
||||||
|
mount_ramdisk() {
|
||||||
|
mount -t tmpfs none $1
|
||||||
|
}
|
||||||
|
|
||||||
|
umount_ramdisk() {
|
||||||
|
if mountpoint $1 &>/dev/null; then
|
||||||
|
umount $1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
backup_ramdisk() {
|
||||||
|
if [ ! -e $1.bak ]; then
|
||||||
|
mkdir -p $1.bak
|
||||||
|
fi
|
||||||
|
cp -pR $1/* $1.bak/
|
||||||
|
rm -rf $1/*
|
||||||
|
}
|
||||||
|
|
||||||
|
restore_ramdisk() {
|
||||||
|
if [ -e $1.bak ];then
|
||||||
|
cp -pR $1.bak/* $1/
|
||||||
|
rm -rf $1.bak/*
|
||||||
|
fi
|
||||||
|
}
|
||||||
# End $rc_base/init.d/functions
|
# End $rc_base/init.d/functions
|
||||||
|
|||||||
@@ -1,93 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# Begin $rc_base/init.d/tmpfs
|
|
||||||
|
|
||||||
. /etc/sysconfig/rc
|
|
||||||
. $rc_functions
|
|
||||||
|
|
||||||
eval $(/usr/local/bin/readhash /var/ipfire/main/settings)
|
|
||||||
|
|
||||||
if [ "$RRDLOG" = '' ]; then
|
|
||||||
RRDLOG=/var/log/rrd
|
|
||||||
fi
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
start)
|
|
||||||
$0 restore
|
|
||||||
if [ ! -e $RRDLOG.bak/vnstat ]; then
|
|
||||||
mkdir -p $RRDLOG.bak/vnstat
|
|
||||||
fi
|
|
||||||
if [ ! -e $RRDLOG/vnstat ]; then
|
|
||||||
mkdir -p $RRDLOG/vnstat
|
|
||||||
fi
|
|
||||||
#
|
|
||||||
# create some folders
|
|
||||||
#
|
|
||||||
if [ ! -e /var/lock/subsys ]; then
|
|
||||||
mkdir -p /var/lock/subsys
|
|
||||||
fi
|
|
||||||
if [ ! -e /var/lock/time ]; then
|
|
||||||
mkdir -p /var/lock/time
|
|
||||||
chown nobody.root /var/lock/time
|
|
||||||
fi
|
|
||||||
if [ ! -e /var/run/clamav ]; then
|
|
||||||
mkdir -p /var/run/clamav
|
|
||||||
chown clamav:clamav /var/run/clamav
|
|
||||||
fi
|
|
||||||
if [ ! -e /var/run/cups ]; then
|
|
||||||
mkdir -p /var/run/cups
|
|
||||||
fi
|
|
||||||
if [ ! -e /var/run/dbus ]; then
|
|
||||||
mkdir -p /var/run/dbus
|
|
||||||
fi
|
|
||||||
if [ ! -e /var/run/mysql ]; then
|
|
||||||
mkdir -p /var/run/mysql
|
|
||||||
chown mysql:mysql /var/run/mysql
|
|
||||||
fi
|
|
||||||
if [ ! -e /var/run/saslauthd ]; then
|
|
||||||
mkdir -p /var/run/saslauthd
|
|
||||||
fi
|
|
||||||
|
|
||||||
#
|
|
||||||
# Move /var/spool/cron to ramdisk and make a symlink
|
|
||||||
#
|
|
||||||
if [ ! -L /var/spool/cron ]; then
|
|
||||||
cp -pR /var/spool/cron /var/log/rrd.bak/cron
|
|
||||||
mv /var/spool/cron /var/log/rrd/cron
|
|
||||||
ln -s /var/log/rrd/cron /var/spool/cron
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo_ok
|
|
||||||
;;
|
|
||||||
stop)
|
|
||||||
$0 backup
|
|
||||||
;;
|
|
||||||
|
|
||||||
backup)
|
|
||||||
boot_mesg "Save ramdisk..."
|
|
||||||
cp -pR $RRDLOG/* $RRDLOG.bak/
|
|
||||||
evaluate_retval
|
|
||||||
;;
|
|
||||||
restore)
|
|
||||||
if ! mountpoint $RRDLOG &>/dev/null; then
|
|
||||||
mount -t tmpfs -o size=64M none "$RRDLOG"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -e $RRDLOG.bak/cron/new.root ]; then
|
|
||||||
if [ -e $RRDLOG.bak/cron/root ]; then
|
|
||||||
rm -f $RRDLOG.bak/cron/new.root
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if [ -e $RRDLOG.bak ];then
|
|
||||||
boot_mesg "Restore ramdisk..."
|
|
||||||
cp -pR $RRDLOG.bak/* $RRDLOG/
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
|
|
||||||
*)
|
|
||||||
echo "Usage: $0 {start|stop|backup}"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# End $rc_base/init.d/tmpfs
|
|
||||||
45
src/initscripts/init.d/vnstat
Executable file
45
src/initscripts/init.d/vnstat
Executable file
@@ -0,0 +1,45 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Begin $rc_base/init.d/vnstat
|
||||||
|
|
||||||
|
. /etc/sysconfig/rc
|
||||||
|
. $rc_functions
|
||||||
|
|
||||||
|
eval $(/usr/local/bin/readhash /var/ipfire/main/settings)
|
||||||
|
|
||||||
|
if [ "$VNSTATLOG" = '' ]; then
|
||||||
|
VNSTATLOG=/var/log/vnstat
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
if [ "$FORCE" == '1' ] || [ "$(mem_amount)" -gt "490" ];then
|
||||||
|
if ! mountpoint $VNSTATLOG &>/dev/null; then
|
||||||
|
boot_mesg "Mount vnstat ramdisk..."
|
||||||
|
if [ $(find "$VNSTATLOG" | wc -l) -ne 1 ]; then
|
||||||
|
backup_ramdisk "$VNSTATLOG"
|
||||||
|
fi
|
||||||
|
mount_ramdisk "$VNSTATLOG"
|
||||||
|
evaluate_retval
|
||||||
|
$0 restore
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
restore_ramdisk "$VNSTATLOG"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
$0 backup
|
||||||
|
umount_ramdisk "$VNSTATLOG"
|
||||||
|
;;
|
||||||
|
backup)
|
||||||
|
backup_ramdisk "$VNSTATLOG"
|
||||||
|
;;
|
||||||
|
restore)
|
||||||
|
restore_ramdisk "$VNSTATLOG"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 {start|stop|backup}"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# End $rc_base/init.d/vnstat
|
||||||
Reference in New Issue
Block a user