通过java代码执行shell命令的小案列

一 需求描述:

通常我们操作linux服务器都是通过远程连接工具,比如:SecureCRT,Xmanager等工具,在其上输入命令来完成一些工作,但是在实际工作中,有些时候需要我们通过java代码远程连接到linux服务器执行一些shell命令,包括集群的状态管理,执行任务,以及集群的可视化界面操作等等。为了解决上述的问题,google公司开源了一个项目叫做sshxcute,通过这个jar包可以操作linucx服务器。

sshxcute项目的地址:

https://code.google.com/archive/p/sshxcute/

sshxcute的使用说明:

https://www.ibm.com/developerworks/cn/opensource/os-sshxcute/

二 入门案列

1 在idea或者eclipse开发工具中创建maven的java工程,并导入jar包,由于sshxcute.jar这个jar包没有maven的坐标,需要手动导入到工程的build path当中去

2 开发代码

public static void main(String[] args) throws TaskExecFailException {
        //连接到linux服务器
        //第一个参数是我们要连接的linux的服务器的ip地址
        //第二个参数是 linux服务器的用户
        //第三个参数是 linux服务器的用户对应的密码
        ConnBean connBean = new ConnBean("192.168.52.100", "root", "123456");

        SSHExec instance = SSHExec.getInstance(connBean);

        instance.connect();

        //执行shell命令
        //echo 'hello world' > /export/servers/demo.txt 这个shell命令是把hello world 写入demo.txt文件中,并覆盖文件的原来内容
        ExecCommand execCommand = new ExecCommand("echo 'hello world' > /export/servers/demo.txt");

        instance.exec(execCommand);

        instance.disconnect();
    }

3 进入linux服务器,查看demo.txt的内容是否为hello world,如果是代表你已经操作成功了!

thank you!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值