powershell 批量获取windows 日志
[
|
2011/11/18 10:42]
|
2011/11/18 10:42]
下载文件 powershell 批量获取windows 硬盘使用量
[
|
2011/11/18 10:37]
|
2011/11/18 10:37]
powershell 脚本
下载文件
下载文件 expect 批量获取文件
[
|
2011/11/18 10:31]
|
2011/11/18 10:31]
#!/usr/bin/expect -f
#
##############################################################################
#
# Filename: /usr/local/sbin/auto_tita_st_sh
#
# Purpose: Expect script designed to telnet into Nortel Ethernet Switches
# and execute the CLI commands to confgure the appropriate timezone
# information, including Day Light Saving time.
#
#
# Author: BeiSen
#
# Date: June 1 2011
#
# Version: 1.1
#
# 源压缩包: /root/stnew/tita201107011505.tar (后缀名取决去压缩方式,时间取到分钟,避免一天多个版本发布引起文件重名)
#
# 目标服务器: 10.22.1.48
# 10.22.1.49
#
# 目录服务器文件路径:/var/www/htdocs/tita
set DATE [exec date "+%Y%m%d%H%M%S"]
set PATH [lindex $argv 0]
set FILE [lindex $argv 1]
set PATH2 [lindex $argv 2]
# 开始循环
foreach IP {
10.22.1.48
10.22.1.49
10.22.1.7
10.22.1.8
10.22.1.12
10.22.1.13
10.22.1.31
10.22.2.8
10.22.2.9
10.22.4.139
10.22.1.34
10.22.1.39
10.22.2.17
10.22.2.19
} {
spawn ssh root@$IP
set timeout 60
log_file -a /var/log/expect/expect$DATE.log
expect "*(yes/no)*"
send "yes\r"
expect "*password:*"
send "Uu2#w@th?9L_\r"
expect "#"
send "/bin/bash /usr/local/sbin/disk.sh\r"
#####################################################################################################################################3
#
#uploading (注意文件名和路径)
#
expect "#"
send "scp /tmp/disk/* 10.22.1.54:/var/ftp/pub\r"
expect "*(yes/no)*"
send "yes\r"
expect "*password:*"
send "Uu2#w@th?9L_\r"
expect "#"
#send "rm -rf /tmp/disk/*\r"
#
#expect "#"
##################################################################################################
# purge cache (清空服务器的缓存)
send "echo>/root/.ssh/known_hosts\r"
expect "#"
send "exit\r"
expect eof
}
############################################################################---------完-----------########################################################
#
##############################################################################
#
# Filename: /usr/local/sbin/auto_tita_st_sh
#
# Purpose: Expect script designed to telnet into Nortel Ethernet Switches
# and execute the CLI commands to confgure the appropriate timezone
# information, including Day Light Saving time.
#
#
# Author: BeiSen
#
# Date: June 1 2011
#
# Version: 1.1
#
# 源压缩包: /root/stnew/tita201107011505.tar (后缀名取决去压缩方式,时间取到分钟,避免一天多个版本发布引起文件重名)
#
# 目标服务器: 10.22.1.48
# 10.22.1.49
#
# 目录服务器文件路径:/var/www/htdocs/tita
set DATE [exec date "+%Y%m%d%H%M%S"]
set PATH [lindex $argv 0]
set FILE [lindex $argv 1]
set PATH2 [lindex $argv 2]
# 开始循环
foreach IP {
10.22.1.48
10.22.1.49
10.22.1.7
10.22.1.8
10.22.1.12
10.22.1.13
10.22.1.31
10.22.2.8
10.22.2.9
10.22.4.139
10.22.1.34
10.22.1.39
10.22.2.17
10.22.2.19
} {
spawn ssh root@$IP
set timeout 60
log_file -a /var/log/expect/expect$DATE.log
expect "*(yes/no)*"
send "yes\r"
expect "*password:*"
send "Uu2#w@th?9L_\r"
expect "#"
send "/bin/bash /usr/local/sbin/disk.sh\r"
#####################################################################################################################################3
#
#uploading (注意文件名和路径)
#
expect "#"
send "scp /tmp/disk/* 10.22.1.54:/var/ftp/pub\r"
expect "*(yes/no)*"
send "yes\r"
expect "*password:*"
send "Uu2#w@th?9L_\r"
expect "#"
#send "rm -rf /tmp/disk/*\r"
#
#expect "#"
##################################################################################################
# purge cache (清空服务器的缓存)
send "echo>/root/.ssh/known_hosts\r"
expect "#"
send "exit\r"
expect eof
}
############################################################################---------完-----------########################################################
powershell 批量检测目录下的文件是否存在
[
|
2011/11/18 10:26]
|
2011/11/18 10:26]
下载文件 nfs挂载参数
[
|
2010/07/16 07:38]
|
2010/07/16 07:38]
/bin/mount -t nfs -o timeo=2,hard,intr,retrans=1 host1:/var/nginx /usr/local/acct/T/q7
使用rsync+inotify配置触发式(实时)远程同步
[
|
2010/07/15 16:36]
|
2010/07/15 16:36]
原文链接:http://bbs.linuxtone.org/thread-2681-1-1.html
安装软件:
rsync3.x
inotify-tools
条件:
需要实时同步的两台主机: 192.168.1.101 192.168.1.102
同步的网站目录: /data/www/wwwroot
# cd /usr/local/src
# wget http://www.samba.org/ftp/rsync/s ... nc-3.0.6pre1.tar.gz
# wget http://jaist.dl.sourceforge.net/ ... y-tools-3.13.tar.gz
# tar zxvf rsync-3.0.6pre1.tar.gz
# cd rsync-3.0.6pre1
# ./configure --prefix=/usr && make && make install
# tar zxvf inotify-tools-3.13.tar.gz
# cd inotify-tools-3.13
# ./configure && make && make install
# cd /usr/local/sbin
# vi rsync.sh //分别在两台机器上创建如下脚本,另一台改一下IP地址即可.
#!/bin/sh
src=/data/www/wwwroot/
des=/data/www/wwwroot
ip=192.168.1.101
/usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' \
-e modify,delete,create,attrib \
${src} \
| while read file
do
rsync -avz --delete --progress ${src} root@${ip}:${des} &&
#echo "${src} was rsynced"
#echo "-----------------------------------------------------"
done
# chmod a+x rsync.sh
# ./rsync.sh 执行同步脚本,在相应的目录下测试相关文件.
将此脚本写入到/etc/rc.local 让系统自动加载即可.
脚本相关注解:
-m 是保持一直监听
-r 是递归查看目录
-q 是打印出事件~
-e create,move,delete,modify
监听 创建 移动 删除 写入 事件
rsync -aHqzt $SRC $DST
-a 存档模式
-H 保存硬连接
-q 制止非错误信息
-z 压缩文件数据在传输
-t 维护修改时间
-delete 删除于多余文件
当要排出同步某个目录时,为rsync添加--exculde=PATTERN参数,注意,路径是相对路径。详细查看man rsync
当要排除都某个目录的事件监控的处理时,为inotifywait添加--exclude或--excludei参数。详细查看man inotifywait
另:
/usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' \
-e modify,delete,create,attrib \
${src} \
上面的命令返回的值类似于:
10/03/09 15:31 /wwwpic/1
这3个返回值做为参数传给read,关于此处,有人是这样写的:
inotifywait -mrq -e create,move,delete,modify $SRC | while read D E F;do
细化了返回值。
说明: 当文件系统发现指定目录下有如上的条件的时候就触发相应的指令,是一种主动告之的而非我用循环比较目录下的文件的异动,该程序
在运行时,更改目录内的文件时系统内核会发送一个信号,这个信号会触发运行rsync命令,这时会同步源目录和目标目录。
--timefmt:指定输出时的输出格式
--format: '%T %w%f'指定输出的格式
二.关于inotify介绍
Inotify 是文件系统事件监控机制,作为 dnotify 的有效替代。dnotify 是较早内核支持的文件监控机制。Inotify 是一种强大的、细粒度的
、异步的机制,它满足各种各样的文件监控需要,不仅限于安全和性能。
inotify 可以监视的文件系统事件包括:
IN_ACCESS,即文件被访问
IN_MODIFY,文件被 write
IN_ATTRIB,文件属性被修改,如 chmod、chown、touch 等
IN_CLOSE_WRITE,可写文件被 close
IN_CLOSE_NOWRITE,不可写文件被 close
IN_OPEN,文件被 open
IN_MOVED_FROM,文件被移走,如 mv
IN_MOVED_TO,文件被移来,如 mv、cp
IN_CREATE,创建新文件
IN_DELETE,文件被删除,如 rm
IN_DELETE_SELF,自删除,即一个可执行文件在执行时删除自己
IN_MOVE_SELF,自移动,即一个可执行文件在执行时移动自己
IN_UNMOUNT,宿主文件系统被 umount
IN_CLOSE,文件被关闭,等同于(IN_CLOSE_WRITE | IN_CLOSE_NOWRITE)
IN_MOVE,文件被移动,等同于(IN_MOVED_FROM | IN_MOVED_TO)
注:上面所说的文件也包括目录。
安装软件:
rsync3.x
inotify-tools
条件:
需要实时同步的两台主机: 192.168.1.101 192.168.1.102
同步的网站目录: /data/www/wwwroot
# cd /usr/local/src
# wget http://www.samba.org/ftp/rsync/s ... nc-3.0.6pre1.tar.gz
# wget http://jaist.dl.sourceforge.net/ ... y-tools-3.13.tar.gz
# tar zxvf rsync-3.0.6pre1.tar.gz
# cd rsync-3.0.6pre1
# ./configure --prefix=/usr && make && make install
# tar zxvf inotify-tools-3.13.tar.gz
# cd inotify-tools-3.13
# ./configure && make && make install
# cd /usr/local/sbin
# vi rsync.sh //分别在两台机器上创建如下脚本,另一台改一下IP地址即可.
#!/bin/sh
src=/data/www/wwwroot/
des=/data/www/wwwroot
ip=192.168.1.101
/usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' \
-e modify,delete,create,attrib \
${src} \
| while read file
do
rsync -avz --delete --progress ${src} root@${ip}:${des} &&
#echo "${src} was rsynced"
#echo "-----------------------------------------------------"
done
# chmod a+x rsync.sh
# ./rsync.sh 执行同步脚本,在相应的目录下测试相关文件.
将此脚本写入到/etc/rc.local 让系统自动加载即可.
脚本相关注解:
-m 是保持一直监听
-r 是递归查看目录
-q 是打印出事件~
-e create,move,delete,modify
监听 创建 移动 删除 写入 事件
rsync -aHqzt $SRC $DST
-a 存档模式
-H 保存硬连接
-q 制止非错误信息
-z 压缩文件数据在传输
-t 维护修改时间
-delete 删除于多余文件
当要排出同步某个目录时,为rsync添加--exculde=PATTERN参数,注意,路径是相对路径。详细查看man rsync
当要排除都某个目录的事件监控的处理时,为inotifywait添加--exclude或--excludei参数。详细查看man inotifywait
另:
/usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' \
-e modify,delete,create,attrib \
${src} \
上面的命令返回的值类似于:
10/03/09 15:31 /wwwpic/1
这3个返回值做为参数传给read,关于此处,有人是这样写的:
inotifywait -mrq -e create,move,delete,modify $SRC | while read D E F;do
细化了返回值。
说明: 当文件系统发现指定目录下有如上的条件的时候就触发相应的指令,是一种主动告之的而非我用循环比较目录下的文件的异动,该程序
在运行时,更改目录内的文件时系统内核会发送一个信号,这个信号会触发运行rsync命令,这时会同步源目录和目标目录。
--timefmt:指定输出时的输出格式
--format: '%T %w%f'指定输出的格式
二.关于inotify介绍
Inotify 是文件系统事件监控机制,作为 dnotify 的有效替代。dnotify 是较早内核支持的文件监控机制。Inotify 是一种强大的、细粒度的
、异步的机制,它满足各种各样的文件监控需要,不仅限于安全和性能。
inotify 可以监视的文件系统事件包括:
IN_ACCESS,即文件被访问
IN_MODIFY,文件被 write
IN_ATTRIB,文件属性被修改,如 chmod、chown、touch 等
IN_CLOSE_WRITE,可写文件被 close
IN_CLOSE_NOWRITE,不可写文件被 close
IN_OPEN,文件被 open
IN_MOVED_FROM,文件被移走,如 mv
IN_MOVED_TO,文件被移来,如 mv、cp
IN_CREATE,创建新文件
IN_DELETE,文件被删除,如 rm
IN_DELETE_SELF,自删除,即一个可执行文件在执行时删除自己
IN_MOVE_SELF,自移动,即一个可执行文件在执行时移动自己
IN_UNMOUNT,宿主文件系统被 umount
IN_CLOSE,文件被关闭,等同于(IN_CLOSE_WRITE | IN_CLOSE_NOWRITE)
IN_MOVE,文件被移动,等同于(IN_MOVED_FROM | IN_MOVED_TO)
注:上面所说的文件也包括目录。
一个验证用smtp方式发送邮件的php脚本
[
|
2010/06/25 13:26]
|
2010/06/25 13:26]
### 本程式由 "中国频道" 提供,请大家视情况修改
///以下将表单的内容写入message中
if ($message == "") $message = "heloaofldskjfklsjlkfjsdjfs";
if ($to == "") $to = "bb@lubingit.com"; //如果表单中没有收件人,请设置默认收件人e-mail
if ($from == "") $from = "aa@lubingit.com"; //如果表单中没有寄件人,请设置默认寄件人e-mail
if ($subject == "") $subject = "Hello~~~"; //如果表单中没有指定主题,请设置默认主题
if ($end = send22($to,$from,$subject,$message ) ) echo $end;
else echo "发送成功!";
function send22($to,$from,$subject, $message )
{
//使用本函数之前,务必请定义好以下变量#############################################
$smtp = "mail.lubingit.com"; //您的SMTP 服务器供应商,可以是域名或IP地址
$check = 1; //SMTP需要要身份验证设值为 1 不需要身份验证值为 0,现在大多数的SMTP服务商都要验证,如不清楚请与你的smtp 服务商联系。
if ($check) {
$username = "aa@lubingit.com"; //您的email帐号名称
$password = "123abc"; //您的email密码
}
$s_from = "aa@lubingit.com"; //此email 必需是发信服务器上的email
###############################################
//连接服务器
$fp = fsockopen ( $smtp, 25, $errno, $errstr, 60);
if (!$fp ) return "联接服务器失败".__LINE__;
set_socket_blocking($fp, true );
$lastmessage=fgets($fp,512);
if ( substr($lastmessage,0,3) != 220 ) return "错误信息:".$lastmessage.__LINE__;
//HELO
$yourname = "YOURNAME";
if($check == "1") $lastact="EHLO ".$yourname."
";
else $lastact="HELO ".$yourname."
";
fputs($fp, $lastact);
$lastmessage == fgets($fp,512);
if (substr($lastmessage,0,3) != 220 ) return "错误信息$lastmessage".__LINE__;
while (true) {
$lastmessage = fgets($fp,512);
if ( (substr($lastmessage,3,1) != "-") or (empty($lastmessage)) ) break;
}
//身份验证
if ($check=="1") {
//验证开始
$lastact="AUTH LOGIN"."
";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 334) return "错误信息$lastmessage".__LINE__;
//用户姓名
$lastact=base64_encode($username)."
";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 334) return "错误信息$lastmessage".__LINE__;
//用户密码
$lastact=base64_encode($password)."
";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != "235") return "错误信息$lastmessage".__LINE__;
}
//FROM:
$lastact="MAIL FROM: $s_from" . "
";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 250) return "错误信息$lastmessage".__LINE__;
//TO:
$lastact="RCPT TO: $to" . "
";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 250) return "错误信息$lastmessage".__LINE__;
//DATA
$lastact="DATA
";
fputs($fp, $lastact);
$lastmessage = fgets ($fp,512); if (substr($lastmessage,0,3) != 354) return "错误信息$lastmessage".__LINE__;
//处理Subject头
$head="Subject: $subject
";
$message = $head."
".$message;
//处理From头
$head="From: $from
";
$message = $head.$message;
//处理To头
$head="To: $to
";
$message = $head.$message;
//加上结束串
$message .= "
.
";
//发送信息
fputs($fp, $message);
$lastact="QUIT
";
fputs($fp,$lastace);
fclose($fp);
return 0;
}
?>
///以下将表单的内容写入message中
if ($message == "") $message = "heloaofldskjfklsjlkfjsdjfs";
if ($to == "") $to = "bb@lubingit.com"; //如果表单中没有收件人,请设置默认收件人e-mail
if ($from == "") $from = "aa@lubingit.com"; //如果表单中没有寄件人,请设置默认寄件人e-mail
if ($subject == "") $subject = "Hello~~~"; //如果表单中没有指定主题,请设置默认主题
if ($end = send22($to,$from,$subject,$message ) ) echo $end;
else echo "发送成功!";
function send22($to,$from,$subject, $message )
{
//使用本函数之前,务必请定义好以下变量#############################################
$smtp = "mail.lubingit.com"; //您的SMTP 服务器供应商,可以是域名或IP地址
$check = 1; //SMTP需要要身份验证设值为 1 不需要身份验证值为 0,现在大多数的SMTP服务商都要验证,如不清楚请与你的smtp 服务商联系。
if ($check) {
$username = "aa@lubingit.com"; //您的email帐号名称
$password = "123abc"; //您的email密码
}
$s_from = "aa@lubingit.com"; //此email 必需是发信服务器上的email
###############################################
//连接服务器
$fp = fsockopen ( $smtp, 25, $errno, $errstr, 60);
if (!$fp ) return "联接服务器失败".__LINE__;
set_socket_blocking($fp, true );
$lastmessage=fgets($fp,512);
if ( substr($lastmessage,0,3) != 220 ) return "错误信息:".$lastmessage.__LINE__;
//HELO
$yourname = "YOURNAME";
if($check == "1") $lastact="EHLO ".$yourname."
";
else $lastact="HELO ".$yourname."
";
fputs($fp, $lastact);
$lastmessage == fgets($fp,512);
if (substr($lastmessage,0,3) != 220 ) return "错误信息$lastmessage".__LINE__;
while (true) {
$lastmessage = fgets($fp,512);
if ( (substr($lastmessage,3,1) != "-") or (empty($lastmessage)) ) break;
}
//身份验证
if ($check=="1") {
//验证开始
$lastact="AUTH LOGIN"."
";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 334) return "错误信息$lastmessage".__LINE__;
//用户姓名
$lastact=base64_encode($username)."
";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 334) return "错误信息$lastmessage".__LINE__;
//用户密码
$lastact=base64_encode($password)."
";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != "235") return "错误信息$lastmessage".__LINE__;
}
//FROM:
$lastact="MAIL FROM: $s_from" . "
";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 250) return "错误信息$lastmessage".__LINE__;
//TO:
$lastact="RCPT TO: $to" . "
";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 250) return "错误信息$lastmessage".__LINE__;
//DATA
$lastact="DATA
";
fputs($fp, $lastact);
$lastmessage = fgets ($fp,512); if (substr($lastmessage,0,3) != 354) return "错误信息$lastmessage".__LINE__;
//处理Subject头
$head="Subject: $subject
";
$message = $head."
".$message;
//处理From头
$head="From: $from
";
$message = $head.$message;
//处理To头
$head="To: $to
";
$message = $head.$message;
//加上结束串
$message .= "
.
";
//发送信息
fputs($fp, $message);
$lastact="QUIT
";
fputs($fp,$lastace);
fclose($fp);
return 0;
}
?>




姓名:传奇
