sh/bash/dash/ksh/zsh等Shell脚本
-
我就是我2
- 帖子: 1215
- 注册时间: 2008-12-13 10:55
- 来自: the Earth
-
联系:
#1
帖子
由 我就是我2 » 2011-08-23 23:32
晚上睡觉的时候经常要下载东西, 当一定时间内,流量过小,开机显得不低碳.所以写个关机脚本
使用方法:
脚本以root权限运行或者在/etc/sudoers添加下面一行
ALL ALL=NOPASSWD:/sbin/poweroff
又或者使用 xdotool 来控制光标来实现关机.
代码: 全选
#!/bin/bash
# 600s/10m 内下载量小于3MB,则关机
while :
do
old=`ifconfig eth0 | awk -F'[:(]' '/bytes/{print $2}'`
new=`sleep 600;ifconfig eth0 | awk -F'[:(]' '/bytes/{print $2}'`
var=`expr $new - $old`
# bytes to MB 1024^2*3=3145728
[ $var -lt 3145728 ] || sudo poweroff
done
-
monk
- 帖子: 19507
- 注册时间: 2010-01-28 10:45
#2
帖子
由 monk » 2011-08-23 23:44
有的下载软件有下载完关机的选项
天上的雨、地下的水、一阵风吹过
*********宁静致远*********
如果我说的有什么不对,请看签名第一行
-
我就是我2
- 帖子: 1215
- 注册时间: 2008-12-13 10:55
- 来自: the Earth
-
联系:
#3
帖子
由 我就是我2 » 2011-08-23 23:52
monk 写了:有的下载软件有下载完关机的选项
是的,有的,并非所有.
你提的是另外一个问题: 下载完成关机.
我关注的问题是:一定时间内网络流量(不管下载完成与否).
焦点不同.
-
monk
- 帖子: 19507
- 注册时间: 2010-01-28 10:45
#4
帖子
由 monk » 2011-08-23 23:57
我就是我2 写了:monk 写了:有的下载软件有下载完关机的选项
是的,有的,并非所有.
你提的是另外一个问题: 下载完成关机.
我关注的问题是:一定时间内网络流量(不管下载完成与否).
焦点不同.
这个不错

天上的雨、地下的水、一阵风吹过
*********宁静致远*********
如果我说的有什么不对,请看签名第一行
-
vinoca
- 帖子: 59
- 注册时间: 2011-03-21 18:30
#5
帖子
由 vinoca » 2011-08-24 15:35
这个不错。
看我的自动待机脚本,判断CPU占用率,磁盘读写(这个不准确,尚待改进),流量及是否运行特定的程序决定待机。用xautolock检测:
代码: 全选
#!/bin/bash
net_card=`iwconfig 2>&1 | sed -n '/802.11g /s/\(wlan.\).*/\1/p'`
[ -z $net_card ] && net_card=`iwconfig 2>&1 | sed -n '/802.11bgn /s/\(wlan.\).*/\1/p'`
[ `top -b -n2 | sed -n '/^Cpu/s/.* \(.*\)\..*%us.*/\1/p' | tail -1` -lt 5 ] &&\
[ $(expr $( (expr $(vmstat | awk 'NR==3 {print $6}') - $(sleep 1;vmstat | awk 'NR==3 {print $6}')) | tr -d '-')) -lt 5 ] &&\
[ $((expr $(expr $(ifconfig $net_card | sed -n '/RX bytes:/s/.*:\([^ ]*\) .*/\1/p') - $(sleep 1;ifconfig $net_card | sed -n '/RX bytes:/s/.*:\([^ ]*\) .*/\1/p')) + $( expr $(ifconfig $net_card | sed -n '/RX bytes:/s/.*TX bytes:\([^ ]*\) .*/\1/p') - $(sleep 1;ifconfig $net_card | sed -n '/RX bytes:/s/.*TX bytes:\([^ ]*\) .*/\1/p'))) | tr -d '-') -lt 5120 ] &&\
[ ! `pgrep mplayer` ] &&\
sudo pm-suspend
-
我就是我2
- 帖子: 1215
- 注册时间: 2008-12-13 10:55
- 来自: the Earth
-
联系:
#6
帖子
由 我就是我2 » 2011-08-24 16:20
vinoca 写了:这个不错。
看我的自动待机脚本,判断CPU占用率,磁盘读写(这个不准确,尚待改进),流量及是否运行特定的程序决定待机。用xautolock检测:
代码: 全选
#!/bin/bash
net_card=`iwconfig 2>&1 | sed -n '/802.11g /s/\(wlan.\).*/\1/p'`
[ -z $net_card ] && net_card=`iwconfig 2>&1 | sed -n '/802.11bgn /s/\(wlan.\).*/\1/p'`
[ `top -b -n2 | sed -n '/^Cpu/s/.* \(.*\)\..*%us.*/\1/p' | tail -1` -lt 5 ] &&\
[ $(expr $( (expr $(vmstat | awk 'NR==3 {print $6}') - $(sleep 1;vmstat | awk 'NR==3 {print $6}')) | tr -d '-')) -lt 5 ] &&\
[ $((expr $(expr $(ifconfig $net_card | sed -n '/RX bytes:/s/.*:\([^ ]*\) .*/\1/p') - $(sleep 1;ifconfig $net_card | sed -n '/RX bytes:/s/.*:\([^ ]*\) .*/\1/p')) + $( expr $(ifconfig $net_card | sed -n '/RX bytes:/s/.*TX bytes:\([^ ]*\) .*/\1/p') - $(sleep 1;ifconfig $net_card | sed -n '/RX bytes:/s/.*TX bytes:\([^ ]*\) .*/\1/p'))) | tr -d '-') -lt 5120 ] &&\
[ ! `pgrep mplayer` ] &&\
sudo pm-suspend
具体脚本跟硬件的关系还是很大的。