View difference between Paste ID: jsH6hJg6 and aJEV6EQe
SHOW: | | - or go back to the newest paste.
1
#!/bin/sh
2
3-
#Made by sixwheeledbeast, Estel, Malkavian, peterleinchen and vi_
3+
############################
4
##Depends on rootsh don't want this
5-
## Go root if not (Depends rootsh)
5+
## Go root if not 
6
#if [ `id -u` != 0 ] ; then
7
#              exec  | sudo gainroot <<EOF
8
#exec sh $0 $*
9
#EOF
10
#              exit $?
11
#fi
12
#########################
13
14
# Setup swap names for script
15
16
## Swap 0 - Backup internal swap location
17
swap0=/dev/mmcblk0p3
18
echo $swap0
19
20
## Swap 1 - First Main Swap Location
21
swap1=/dev/mmcblk1p2
22
echo $swap1
23
24
## Swap 2 - Second Main Swap Location
25
swap2=/dev/mmcblk1p3
26
echo $swap2
27
28
##Swap
29
xswapon="/bin/busybox swapon"
30
xswapoff="/bin/busybox swapoff"
31
32
# Setup notification banner
33
banner(){
34
o=org
35
f=freedesktop
36
n=Notifications
37
run-standalone.sh dbus-send --type=method_call \
38
--dest=$o.$f.$n /$o/$f/$n $o.$f.$n.SystemNoteInfoprint string:"$1"
39
}
40
41
# Get and Print Current Swap Pre
42
swap=`cat /proc/swaps | awk '/dev/ {print $1}'`
43
echo $swap
44
banner "$swap"
45
46
sleep 4
47
48
#Logic
49
if [ "$swap" = "$swap1" ] ;
50
then
51
   $xswapon $swap2
52
   $xswapoff $swap1
53
elif [ "$swap" = "$swap2" ] ;
54
then
55
   $xswapon $swap1
56
   $xswapoff $swap2
57
elif [ "$swap" = "$swap0" ] ;
58
then
59
   $xswapon $swap1
60
   $xswapoff $swap0
61
sleep 5
62
# Get and Print Current Swap Post
63
swappost=`cat /proc/swaps | awk '/dev/ {print $1}'`
64
banner "$swappost"
65
else
66
   banner "Swap Switch Failed" && exit 1
67
fi
68
#End of Logic
69
70
sleep 2
71
#Get current swap from /proc/swaps
72
disk=$(cat /proc/swaps | awk '/dev/ {print $1}' | cut -d "/" -f 3)
73
#Get blocks used since boot from /proc/diskstats
74
ublocks=$(awk '{if ($3=="'"$disk"'") print $10}' /proc/diskstats)
75
echo $ublocks ublocks
76
#Multiply blocks by 512 to get used bytes
77
ubytes=$(($ublocks*512))
78
#Calculate used bytes into Kb, Mb and Gb
79
echo $ubytes ubytes
80
ukbytes=$(($ubytes/1024))
81
umbytes=$(($ubytes/1024/1024))
82
ugbytes=$(($ubytes/1024/1024/1024))
83
echo $ukbytes ukbytes, $umbytes umbytes, $ugbytes ugbytes
84
echo "$umbytes" > /tmp/flopswaplast && exit 1