deletefile
自动删除/record_file/下面目录内,31天以前的文件的脚本。放在某台服务器上
- #!/bin/bash
- #to delete files with is 30 day ago
- cd /record_file/
- for i in `ls`
- do
- cd /record_file/$i
- echo `pwd`
- find ./ -mtime +31 > filelist
- sleep 2
- rm -rf `cat filelist`
- sleep 10
- done
expect_run.exp
从某台服务器上把deletefile文件批量拷到远端服务器并运行的脚本。
- #!/usr/tcl/bin/expect
- set timeout 2
- set host [lindex $argv 0]
- set user [lindex $argv 1]
- set password [lindex $argv 2]
- spawn ssh $user@$host
- # Enable this and Disable the "spawn ssh ..." above if you are using ssh-key.
- #spawn ssh -i ssh-key/Identity.ppk -p $port $user@$server
- expect {
- "yes/no)?\ " {send "yes\r";exp_continue}
- "*assword:\ " {send "$password\r"}
- }
- expect "]*"
- send "scp root@100.2.3.91:/home/deletefile /home\r"
- expect {
- "yes/no)?\ " {send "yes\r";exp_continue}
- "*assword:\ " {send "123456\r"}
- }
- expect "]*"
- send "cd /home/\r"
- send "nohup ./deletefile &\r"
- expect eof
run.sh 调用expect_run.exp的主脚本
- #!/bin/sh
- cat ip.txt | while read ip user password
- do
- ./expect_run.exp $ip $user $password
- done
ip.txt 不解释,主机列表
- 100.2.3.92 root 123456
- 100.2.3.94 root 123456
- 100.2.3.93 root 123456
- 100.2.3.89 root 123456
- 100.2.3.88 root 123456
- 100.2.3.87 root 123456
- 100.2.3.90 root 123456
- 。。。。
Expect的安装及使用(提醒一点tcl8.5.10编译有可能不成功最好用
tcl8.4.11这个版本)
1.下载源码包
wget http://nchc.dl.sourceforge.net/sourceforge/tcl/tcl8.4.11-src.tar.gz
wget http://nchc.dl.sourceforge.net/sourceforge/tcl/tk8.4.11-src.tar.gz
wget http://nchc.dl.sourceforge.net/sourceforge/tcl/tcl8.4.11-src.tar.gz
wget http://nchc.dl.sourceforge.net/sourceforge/tcl/tk8.4.11-src.tar.gz
2.解压缩源码包
tar xfvz tcl8.4.11-src.tar.gz
tar xfvz tk8.4.11-src.tar.gz
tar xfvz tcl8.4.11-src.tar.gz
tar xfvz tk8.4.11-src.tar.gz
3.安装配置
cd tcl8.4.11
cd unix
./configure --prefix=/usr/tcl --enable-shared
make
make install
cd tcl8.4.11
cd unix
./configure --prefix=/usr/tcl --enable-shared
make
make install
安装完毕以后,进入tcl源代码的根目录,把子目录unix下面的tclUnixPort.h copy到子目录generic中。
暂时不要删除tcl源代码,因为expect的安装过程还需要用。
暂时不要删除tcl源代码,因为expect的安装过程还需要用。
1.
下载源码包
Wget
http://nchc.dl.sourceforge.net/project/expect/Expect/5.45/expect5.45.tar.gz
2.解压缩源码包
tar xfvz expect 5.45 .tar.gz
tar xfvz expect 5.45 .tar.gz
3.安装配置
cd expect-5.4 5
./configure --prefix=/usr/expect --with-tcl=/usr/tcl/lib --with-tclinclude=
/tcl源代码路径/generic
cd expect-5.4 5
./configure --prefix=/usr/expect --with-tcl=/usr/tcl/lib --with-tclinclude=
/tcl源代码路径/generic
make
make install
make install
转载于:https://blog.51cto.com/bensonzy/754633