]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - src/initscripts/init.d/tmpfs
Merge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into asterisk-update
[ipfire-2.x.git] / src / initscripts / init.d / tmpfs
index 4a1ae15cadcb75ec60b96e8a53289e7f0aebb5f0..2ee2ffb72f783bbe223127b80a7dc548b24534ba 100644 (file)
@@ -1,7 +1,6 @@
 #!/bin/sh
 # Begin $rc_base/init.d/tmpfs
 
-
 . /etc/sysconfig/rc
 . $rc_functions
 
@@ -13,17 +12,80 @@ fi
 
 case "$1" in
        start)
-               /etc/init.d/collectd restore
+               $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)
-               /etc/init.d/collectd backup
+               $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}"
+               echo "Usage: $0 {start|stop|backup}"
                exit 1
                ;;
 esac