批量删除多台linux服务器文件
2011-12-30 13:14
253 查看
转自:/article/4358068.html
deletefile
自动删除/record_file/下面目录内,31天以前的文件的脚本。放在某台服务器上
expect_run.exp
从某台服务器上把deletefile文件批量拷到远端服务器并运行的脚本。
run.sh 调用expect_run.exp的主脚本
ip.txt 不解释,主机列表
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
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
相关文章推荐
- 批量删除多台Linux服务器文件
- linux中find批量删除空文件及空文件夹脚本
- linux下批量删除空文件(大小等于0的文件)的方法
- Linux 按时间批量删除文件(删除N天前文件)
- Linux 批量删除文件后缀
- Linux批量删除大量文件的命令
- Linux删除破折号开头的文件与Windows下批量去掉文件的隐藏属性
- Linux强大的IO重定向和管道功能(内含命令替换,实例:批量删除文件)
- linux环境下批量删除SVN未加入版本控制的文件
- linux下批量删除指定后缀的文件
- Linux下通配符批量删除相同文件
- Linux 按时间批量删除文件(删除N天前文件)
- linux中find批量删除空文件及空文件夹脚本
- linux 批量删除 svn文件
- linux 服务器删除大文件之后不释放存储空间的解决办法
- linux 批量删除及修改文件shell命令
- [*Linux*] - 搭建vsftpd服务器访问无法正常显示目录(创建 删除文件)
- Linux培训之批量删除文件命令
- linux 目录下文件批量植入和删除,按日期打包
- 在linux命令行下批量删除文件或文件夹