etc/rc.d/init.d/sysklogd
etc/rc.d/init.d/template
#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/udev
etc/rc.d/init.d/udev_retry
etc/rc.d/init.d/upnpd
#etc/rc.d/init.d/vdr
+etc/rc.d/init.d/vnstat
#etc/rc.d/init.d/vdradmin
#etc/rc.d/init.d/vsftpd
#etc/rc.d/init.d/watchdog
etc/rc.d/rc0.d/K45random
etc/rc.d/rc0.d/K47setclock
etc/rc.d/rc0.d/K49cyrus-sasl
+etc/rc.d/rc0.d/K51vnstat
etc/rc.d/rc0.d/K78snort
etc/rc.d/rc0.d/K79leds
etc/rc.d/rc0.d/K80network
etc/rc.d/rc0.d/K82wlanclient
#etc/rc.d/rc0.d/K84bluetooth
#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/S60sendsignals
etc/rc.d/rc0.d/S70localnet
etc/rc.d/rc0.d/S90swap
etc/rc.d/rc0.d/S99halt
#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/S15messagebus
#etc/rc.d/rc3.d/S16bluetooth
etc/rc.d/rc6.d/K45random
etc/rc.d/rc6.d/K47setclock
etc/rc.d/rc6.d/K49cyrus-sasl
+etc/rc.d/rc6.d/K51vnstat
etc/rc.d/rc6.d/K78snort
etc/rc.d/rc6.d/K79leds
etc/rc.d/rc6.d/K80network
etc/rc.d/rc6.d/K82wlanclient
#etc/rc.d/rc6.d/K84bluetooth
#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/S60sendsignals
etc/rc.d/rc6.d/S70mountfs
etc/rc.d/init.d/sysklogd
etc/rc.d/init.d/template
#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/transmission
etc/rc.d/init.d/udev
etc/rc.d/init.d/udev_retry
etc/rc.d/init.d/upnpd
#etc/rc.d/init.d/vdr
+etc/rc.d/init.d/vnstat
#etc/rc.d/init.d/vdradmin
#etc/rc.d/init.d/vsftpd
#etc/rc.d/init.d/watchdog
etc/rc.d/rc0.d/K45random
etc/rc.d/rc0.d/K47setclock
etc/rc.d/rc0.d/K49cyrus-sasl
+etc/rc.d/rc0.d/K51vnstat
etc/rc.d/rc0.d/K78snort
etc/rc.d/rc0.d/K79leds
etc/rc.d/rc0.d/K80network
etc/rc.d/rc0.d/K82wlanclient
#etc/rc.d/rc0.d/K84bluetooth
#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/K90sysklogd
etc/rc.d/rc0.d/S60sendsignals
etc/rc.d/rc0.d/S90swap
etc/rc.d/rc0.d/S99halt
#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/S12acpid
#etc/rc.d/rc3.d/S15messagebus
etc/rc.d/rc6.d/K45random
etc/rc.d/rc6.d/K47setclock
etc/rc.d/rc6.d/K49cyrus-sasl
+etc/rc.d/rc6.d/K51vnstat
etc/rc.d/rc6.d/K78snort
etc/rc.d/rc6.d/K79leds
etc/rc.d/rc6.d/K80network
etc/rc.d/rc6.d/K82wlanclient
#etc/rc.d/rc6.d/K84bluetooth
#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/K90sysklogd
etc/rc.d/rc6.d/S60sendsignals
etc/profile.d/umask.sh
etc/resolv.conf
etc/securetty
+etc/sysconfig/ramdisk
etc/sysctl.conf
etc/syslog.conf
etc/system-release
-rm -rf /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 \
install -v -m 754 $$i /etc/rc.d/init.d/; \
done
ln -sf ../init.d/random /etc/rc.d/rc3.d/S25random
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 ../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/rc0.d/K02mediatomb
ln -sf ../init.d/mediatomb /etc/rc.d/rc6.d/K02mediatomb
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/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/rc3.d/S19wlanclient
ln -sf ../init.d/wlanclient /etc/rc.d/rc6.d/K82wlanclient
cd $(DIR_APP) && make all $(MAKETUNING) LOCAL_CONFIGURE_OPTIONS="--enable-readline=yes"
cd $(DIR_APP) && make install
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)
@$(POSTBUILD)
rm -rf /var/run
ln -s ../run /var/run
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 " /tmp" ${NORMAL}
. $rc_functions
eval $(/usr/local/bin/readhash /var/ipfire/main/settings)
+eval $(/usr/local/bin/readhash /etc/sysconfig/ramdisk)
if [ "$RRDLOG" = '' ]; then
RRDLOG=/var/log/rrd
case "$1" in
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 [ "$(basename $0)" != "collectd" ]; then
if [ "$(ps -A | grep " collectd$")" != "" ]; then
boot_mesg "Stopping Collection daemon..."
killproc /usr/sbin/collectd
evaluate_retval
- # Save the ramdisk at manual stop but not at shutdown
- if [ "$(basename $0)" == "collectd" ]; then
- /etc/init.d/tmpfs backup
- fi
+ backup_ramdisk "$RRDLOG"
+ umount_ramdisk "$RRDLOG"
# sync after backup...
sync
;;
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
+++ /dev/null
-#!/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
--- /dev/null
+#!/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