jablonka.czprosek.czf

czfcentos

Subversion Repositories:
[/] [trunk/] [router/] [usr/] [local/] [bin/] [mrov2] - Rev 3

Compare with Previous - Blame - Download


#!/bin/bash

echo -n "Re-mounting root ... "

if mount / -noremount,ro,noatime; then
        echo "done."
        echo Root is now read-only.
        exit 0
else
        if [[ "$1" == "-f" ]]; then
                echo Filesystem busy, forcing remount.

                echo -n Locating data partitions ...
                NODEV=`echo \`grep < /proc/filesystems nodev | awk '{print "^" $2 "|"}'\` | sed -e "s/ //g" -e "s/|$//g"`
                RWFS=`awk < /proc/mounts "\\$4 ~ \"^rw\" { if (\\$1!=\"none\" && \\$2!=\"/\" && \\$3 !~ /$NODEV/) print \\$2}"`
                echo " done."

                echo -n Syncing filesystems ...
                sync
                echo " done."

                echo -n Re-mounting everything read-only ...
                echo u > /proc/sysrq-trigger
                echo " done."

                if [[ $RWFS ]]; then
                        echo -n Re-mounting data partitions read-write:
                        for FS in $RWFS; do
                                echo -n " [$FS]"
                                mount $FS -noremount,rw,noatime
                        done
                        echo " done."
                fi
                echo Root is now read-only.
                exit 0
        fi
        echo Failed. If you\'re sure you know what are you doing, try \"mro -f\".
        exit 1
fi



Powered by WebSVN 2.2.1