您的位置:首页 > 运维架构 > Linux

批量删除多台linux服务器文件

2011-12-30 13:14 253 查看
转自:/article/4358068.html
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这个版本)
A. Tcl 安装

主页: http://www.tcl.tk

下载地址: http://www.tcl.tk/software/tcltk/downloadnow84.tml
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
2.解压缩源码包

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
安装完毕以后,进入tcl源代码的根目录,把子目录unix下面的tclUnixPort.h copy到子目录generic中。

暂时不要删除tcl源代码,因为expect的安装过程还需要用。
B. expect 安装 (需Tcl的库)

主页: http://expect.nist.gov/
1.下载源码包
Wget http://nchc.dl.sourceforge.net/project/expect/Expect/5.45/expect5.45.tar.gz 2.解压缩源码包

tar xfvz expect5.45.tar.gz
3.安装配置

cd expect-5.45

./configure --prefix=/usr/expect --with-tcl=/usr/tcl/lib --with-tclinclude=

/tcl源代码路径/generic
make

make install
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: