Blog

  • 定时关机命令:教你如何在Windows XP使用定时关机命令

    大多数实现自动关机的方法都是使用一些第三方软件,这样不仅麻烦,而且为实现这个小功能而专门动用一个软件,显的小题大做了!其实Windows XP(Windows 2000也可以)自身就具备定时关机的功能,下面我们就来看看如何通过定时关机命令,实现Windows XP的自动关机:

    Windows XP的关机是由Shutdown.exe程序来控制的,位于Windows\System32文件夹中 。如果想让Windows 2000也实现同样的效果,可以把Shutdown.exe复制到系统目录下

    比如你的电脑要在22:00关机,可以选择“开始→运行”,输入“at 22:00 Shutdown -s”,这样,到了22点电脑就会出现“系统关机”对话框,默认有30秒钟的倒计时并提示你保存工作。如果你想以倒计时的方式关机,可以输入 “Shutdown.exe -s -t 3600”,这里表示60分钟后自动关机,“3600”代表60分钟。这样定时关机命令就设置好了。

    Shutdown.exe的参数,每个都具有特定的用途,执行每一个都会产生不同的效果,比如“-s”就表示关闭本地计算机,“-a”表示取消关机操作,下面列出了更多参数,大家可以在Shutdown.exe中按需使用

    -f:强行关闭应用程序
    -m \\计算机名:控制远程计算机
    -i:显示图形用户界面,但必须是Shutdown的第一个选项
    -l:注销当前用户
    -r:关机并重启
    -t时间:设置关机倒计时
    -c “消息内容”:输入关机对话框中的消息内容(不能超127个字符)

    1、win2000系统内没有shutdown命令文件,如果在2000中使用,必须 copy winXP中的shutdown.exe文件(在xp的c盘收索就能找到),到win2k的C:\\WINNT中,win2k才能使用。\\.s
    2、实现每日定时关机从新启动,设置好定时关机命令后,在控制面板中的任务计划中添加一个计划,在运行中输入“C:\\WINNT\\shutdown.exe -r”在设置密码处输入管理员的密码,在日程处输入每天运行的时间,那样就可以达到每天定时重新启动计算机了

  • tree命令生成目录树

    windows

    2K以上的操作系统中都带有tree命令,98下面没有,就算是把2K下面的拷过去也用不起来。
    tree命令的格式是tree [drive][path] [/F] [/A]
    /F 显示每个文件夹中文件的名称
    /A 使用ASCII字符,而不使用扩展字符
    可以在命令行窗口敲”tree /?”看帮助。
    格式:TREE【盘符:】【F】【>PRN】
    使用/F参数时显示所有目录及目录下的所有文件,省略时,只显示目录,不显示目录下的文件;
    选用>PRN参数时,则把所列目录及目录中文件名打印输出

    显示F盘的目录结构

    @echo on
    cd /d F:
    tree /f >> tree.txt
    pause

    linux

    直接运行tree

    tree -s显示文件大小

  • 无事可做时做什么

    记录自己无事可做的时候可以做的事

    1.打字、练五笔

    2.背诵名家名篇

    3.看若干H网站

    4.修改更新blog:全面拒绝无认知式的转载,确保每篇博文精练

     

     

    –反思

    我曾经整块时间都干了什么

    1、聊qq

    2、逛淘宝、b2c、团购

    3、下片子

    4、下歌

    5、各种SNS

  • debian pptp vpn安装设置 | pptp限单用户

    1.安装PPTP VPN

    apt-get update
    apt-get upgrade
    apt-get install pptpd

    2.配置PPTP VPN

    使用你喜欢的编辑器,编辑/etc/pptpd.conf 。修改localip,remoteip的ip地址段,例如修改为:

    localip 10.10.10.1
    remoteip 10.10.10.100-200

    编辑/etc/ppp/pptpd-options,修改ms-dns 的dns地址,例如可以修改为:

    ms-dns 211.65.64.65
    ms-dns 8.8.8.8

    编辑/etc/ppp/chap-secrets,设置用户名密码,格式如下:

    user1 pptpd password1 *
    user2 pptpd password2 10.10.10.102

    格式一为不限定分配ip地址,格式二为限定分配ip地址。

    编辑/etc/sysctl.conf,修改#net.ipv4.ip_forward=1为net.ipv4.ip_forward=1。执行如下命令(打开转发):

    sysctl -p

    3.iptables防火墙设置(iptables转发规则)

    iptables -A INPUT -p gre -j ACCEPT
    iptables -A OUTPUT -p gre -j ACCEPT
    iptables -A INPUT -p tcp --sport 1723 -j ACCEPT
    iptables -A OUTPUT -p tcp --dport 1723 -j ACCEPT
    iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth0 -j MASQUERADE

    Debian默认防火墙是全通的,因此前四行可以选择不执行。建议将第五行加入到/etc/rc.local。如果不加,有可能会出现连上VPN,但是上不了网的情况

    像vps,ifconfig后要通过venet0来走

    iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o venet0 -j MASQUERADE

    没有ppp设备,需要执行如下命令:

    mknod /dev/ppp c 108 0

    4.启动PPTP 服务

    执行如下命令,启动PPTP服务:

    /etc/init.d/pptpd restart

    pptp搭建的vpn代理上网很慢
    解决:

    在pptp所在的linux服务的iptables的*filter表中加入
    -I FORWARD -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1356
    
    来源:http://hi.baidu.com/624686/blog/item/5f3e32c428e4e0a38226acb1.html
    
    方法2:
    在/etc/ppp/ip-up最后添加一行
    /sbin/ifconfig $1 mtu 1356
    重启pptpd
    /etc/init.d/pptpd restart

    限制pptp vpn用户单个连接的简单方法

    实现方法很简单。只要在/etc/ppp文件夹下面建立一个名为auth-up的文件。在里面写入如下内容即可:
    
    #!/bin/sh
    # get the username/ppp line number from the parameters
    REALDEVICE=$1
    USER=$2
    # create the directory to keep pid files per user
    mkdir -p /var/run/pptpd-users
    # if there is a session already for this user, terminate the old one
    if [ -f /var/run/pptpd-users/$USER ]; then
    kill -HUP `cat /var/run/pptpd-users/$USER`
    fi
    # copy the pid file of current user to /var/run/pptpd-users
    cp "/var/run/$REALDEVICE.pid" /var/run/pptpd-users/$USER
    
    来源:http://vastars.info/linux/pptp-vpn.html

    ——below add at 2011-05-17——

    方便查看在线用户
    #vim ~/.bashrc
    最后一行加入

    alias online='last | grep still | grep ppp |sort -k 2,2'

    #source ~/.bashrc

  • nginx由0.8.54无缝升级0.9.5 | nginx自动更新脚本

    正好有一台测试机
    试试nginx升级
    原来版本是nginx0.8.54

    下载最新版的nginx
    #wget http://nginx.org/download/nginx-0.9.5.tar.gz
    解压缩
    #tar vxzf nginx-0.9.5.tar.gz
    新版本编译
    root@debian:~/nginx-0.9.5# cd nginx-0.9.5/
    root@debian:~/nginx-0.9.5# ./configure
    root@debian:~/nginx-0.9.5# make
    make -f objs/Makefile
    make[1]: Entering directory `/root/nginx-0.9.5′
    gcc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Wunused-function -Wunused-variable -Wunused-value -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \……………………中间省略………………………………………….
    make[1]: Leaving directory `/root/nginx-0.9.5′
    make -f objs/Makefile manpage
    make[1]: Entering directory `/root/nginx-0.9.5′
    sed -e “s|%%PREFIX%%|/usr/local/nginx|” \
    -e “s|%%PID_PATH%%|/usr/local/nginx/logs/nginx.pid|” \
    -e “s|%%CONF_PATH%%|/usr/local/nginx/conf/nginx.conf|” \
    -e “s|%%ERROR_LOG_PATH%%|/usr/local/nginx/logs/error.log|” \
    < man/nginx.8 > objs/nginx.8
    make[1]: Leaving directory `/root/nginx-0.9.5′
    编译完成

    开始升级

    root@debian:~/nginx-0.9.5# mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old

    关键 拷贝objs下的nginx

    root@debian:~/nginx-0.9.5# cp objs/nginx /usr/local/nginx/sbin/

    关键 升级

    root@debian:~/nginx-0.9.5# make upgrade
    /usr/local/nginx/sbin/nginx -t
    nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
    nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
    kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
    sleep 1
    test -f /usr/local/nginx/logs/nginx.pid.oldbin
    kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`

    查看版本

    root@debian:~/nginx-0.9.5# /usr/local/nginx/sbin/nginx -v
    nginx: nginx version: nginx/0.9.5

    确实是无缝升级的,中间没有停顿

    ———————————nginx自动更新脚本 update 2011-06-01————————————–
    root@debian:~# vim nginxupdate.sh

    #!/bin/bash
    #for nginx updating
    version=`curl http://nginx.org/en/download.html | sed 's/.tar.gz.*$//g' | sed 's/^.*download\/nginx-//g'`
    wget http://nginx.org/download/nginx-${version}.tar.gz
    tar vxzf nginx-${version}.tar.gz
    cd nginx-${version}/
    ./configure
    make
    mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
    cp objs/nginx /usr/local/nginx/sbin/
    make upgrade
    cd ..
    rm -rf nginx-${version}
    rm -f nginx-${version}.tar.gz

    在cron里加入,每个礼拜更新一次

    0 0 * * 0 bash  /root/nginxupdate.sh
  • iptables设置规则

    用iptables命令是及时生效的,用两台机很便于测试学习

    filter是最常用的表,在filter表中最常用的三个目标是ACCEPT、DROP和REJECT。

    DROP会丢弃数据包,不再对其进行任何处理。REJECT会把出错信息传送至发送数据包的主机。

    比如:

    iptables -I INPUT -s 219.230.xxx.xxx -j DROP

    这样ping会直接ping不通,无任何信息;

    iptables -I INPUT -s 219.230.xxx.xxx -j REJECT

    目标主机不能到达 “Destination Host Unreachable”信息说明对方主机不存在或者没有跟对方建立连接。

    清除已有iptables规则

    iptables -F
    iptables -X
    iptables -Z

    开放指定的端口

    #允许本地回环接口(即运行本机访问本机)

    iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

    # 允许已建立的或相关连的通行

    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

    #允许所有本机向外的访问

    iptables -A OUTPUT -j ACCEPT

    # 允许访问22端口

    iptables -A INPUT -p tcp --dport 22 -j ACCEPT

    #允许访问80端口

    iptables -A INPUT -p tcp --dport 80 -j ACCEPT

    #允许FTP服务的21和20端口

    iptables -A INPUT -p tcp --dport 21 -j ACCEPT
    iptables -A INPUT -p tcp --dport 20 -j ACCEPT

    #如果有其他端口的话,规则也类似,稍微修改上述语句就行
    #禁止其他未允许的规则访问

    iptables -A INPUT -j REJECT
    iptables -A FORWARD -j REJECT

    屏蔽IP

    #屏蔽单个IP的命令是

     iptables -I INPUT -s 123.45.6.7 -j DROP

    #封整个段即从123.0.0.1到123.255.255.254的命令

     iptables -I INPUT -s 123.0.0.0/8 -j DROP

    #封IP段即从123.45.0.1到123.45.255.254的命令

     iptables -I INPUT -s 124.45.0.0/16 -j DROP

    #封IP段即从123.45.6.1到123.45.6.254的命令是

     iptables -I INPUT -s 123.45.6.0/24 -j DROP

    查看已添加的iptables规则

    简单查看 #iptables –list

    iptables -L -n

    v:显示详细信息,包括每条规则的匹配包数量和匹配字节数
    x:在 v 的基础上,禁止自动单位换算(K、M)
    n:只显示IP地址和端口号,不将ip解析为域名

    用iptables做SNAT的时候,查看需要再加 -t nat

    iptables -L -t nat

    删除已添加的iptables规则

    将所有iptables以序号标记显示,执行:

    iptables -L -n --line-numbers

    比如要删除INPUT里序号为8的规则,执行:

    iptables -D INPUT 3  (注意大小写)

    ubuntu下面iptables的开机启动及规则保存

    https://help.ubuntu.com/community/IptablesHowTo