Linux命令、脚本

1、传文件

  FTP/SFTP:ftp 用户名@远程ip

  SCP:注意ip后有个   :

    本地文件发到远程
    scp 本地文件 用户名@远程ip:远程路径
 
    远程文件发到本地
    scp 用户名@远程ip:远程路径 本地文件
 
2、查询进程并kill掉
  
ps -ef|grep logstash|grep -v grep|awk '{print $2}'|xargs kill -9

3、scp脚本上传到主机上,或者复制文件回到本主机(可用于批量操作)

sh 脚本文件.sh put 用户名 远程主机 密码 文件名 路径
#!/usr/bin/ksh
#scp脚本上传到主机上,或者复制文件回到本主机
#使用:
#上传:scp_file put user ip pwd 本地路径和文件名 上传路径和文件名
#下载:scp_file get user ip pwd 远程主机路径和文件名 下载到本地的路径和文件名
scp_file(){
        if [[ $1 == 'put' ]];
        then
                expect -c "
                set timeout 30;
                spawn scp $5 $2@$3:$6;
                expect {
                        \"*assword\" {send \"$4\r\";exp_continue;}
                        \"yes/no\" {send \"yes\r\"; exp_continue;}
                        \"Permission denied\" exit
                }" | grep -i "100%" 
                 _rScp=$?
                #rScp=0表示成功,1表示失败。
                if [[ ${_rScp} -eq 1 ]];
                then
                        echo 1;
                else
                        echo 0;
                fi
        else if [[ $1 == 'get' ]];
                then
                        expect -c "
                        set timeout 30;
                        spawn scp $2@$3:$5 $6
                        expect {
                                \"*assword\" {send \"$4\r\";exp_continue;}
                                \"yes/no\" {send \"yes\r\"; exp_continue;}
                                \"Permission denied\" exit
                        }" | grep -i "100%" 
                     _rScp=$?
                        #rScp=0表示成功,1表示失败。
                        if [[ ${_rScp} -eq 1 ]];
                        then
                                echo 1;
                        else
                                echo 0;
                        fi
                fi
        fi
}
scp_file "$1" "$2" "$3" "$4" "$5" "$6"

4、登录主机执行命令  ssh_do wangguan ip passwd command

#!/usr/bin/ksh
ssh_do(){
        expect -c "
        set timeout 30;
        spawn ssh $1@$2 \"$4;exit\"
        expect {
                \"*assword\" {send \"$3\r\";exp_continue;}
                \"yes/no\" {send \"yes\r\"; exp_continue;}
                \"Permission denied\" exit
        }"
}
#ssh_do wangguan ip passwd command
ssh_do $1 $2 $3 "$4"

 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
posted @ 2018-06-28 17:47  三尺墨  阅读(212)  评论(0)    收藏  举报