source: trunk/root/usr/bin/modsave @ 5706

Letzte Änderung dieser Datei seit 5706 war 5706, erstellt von oliver vor 8 Jahren
  • Remove variable MOD_LIMIT
    • max size for /var/flash/freetz is 32 KB (compressed)
    • so it makes no sense to check uncompressed size
    • refs #1004
Dateigröße: 1.2 KB
Zeile 
1#!/bin/sh
2#
3# Usage: modsave [flash|all]
4
5save() {
6    TMPFILE=/tmp/.save.tmp
7
8    let MOD_LIMIT=32*1024
9
10    # not really a lock
11    if [ -e "$TMPFILE" ]; then
12        echo "$TMPFILE exists! Concurrent update?" 1>&2
13        exit 1
14    fi
15
16    tar -cf $TMPFILE flash -C /tmp/
17
18    # compressed config size must be less than 32 KB
19    size=$(gzip -c $TMPFILE | wc -c)
20
21    if [ "$size" -gt "$MOD_LIMIT" ]; then
22        rm -f $TMPFILE
23        echo "size: $size limit: $MOD_LIMIT" 1>&2
24        echo "ERROR: /var/flash/freetz too big" 1>&2
25        exit 1
26    fi
27
28    echo -n 'Writing /var/flash/freetz ... '
29    cat $TMPFILE > /var/flash/freetz 2>/dev/null
30    local rv=$?
31    rm -f $TMPFILE
32    if [ $rv -ne 0 ]; then
33        echo 'failed.'
34        echo 'Error: Could not save config file.'
35        exit $rv
36    fi
37    echo "$size bytes written."
38}
39
40case $1 in
41    ""|all)
42        echo -n 'Saving users, groups and passwords ... '
43        /usr/bin/modusers save
44        echo 'done.'
45
46        echo -n 'Saving config ... '
47        /usr/bin/modconf save mod
48        if [ -e /etc/static.pkg ]; then
49            for pkg in "$(cat /etc/static.pkg)"; do
50                if [ -r "/etc/default.$pkg/$pkg.cfg" ]; then
51                    /usr/bin/modconf save "$pkg"
52                fi
53            done
54        fi
55        echo 'done.'
56
57        save
58        ;;
59    flash)
60        save
61        ;;
62    *)
63        echo "Usage: $0 [flash|all]" 1>&2
64        exit 1
65        ;;
66esac
67
68exit 0
Hinweis: Hilfe zum Repository-Browser finden Sie in TracBrowser.