Linux线程执行sh脚本,Linux Shell远程执行命令(命令行与脚本方式)及aria2多线程同步脚本...

shell远程执行:

经常需要远程到其他节点上执行一些shell命令,如果分别ssh到每台主机上再去执行很麻烦,因此能有个集中管理的方式就好了。一下介绍两种shell命令远程执行的方法。

前提条件:

配置ssh免密码登陆

对于简单的命令:

如果是简单执行几个命令,则:

ssh user@remoteNode "cd /home ; ls"

基本能完成常用的对于远程节点的管理了,几个注意的点:

双引号,必须有。如果不加双引号,第二个ls命令在本地执行

分号,两个命令之间用分号隔开

对于脚本的方式:

有些远程执行的命令内容较多,单一命令无法完成,考虑脚本方式实现:

#!/bin/bash

ssh user@remoteNode > /dev/null 2>&1 << eeooff

cd /home

touch abcdefg.txt

exit

eeooff

echo done!

远程执行的内容在“<< eeooff ” 至“ eeooff ”之间,在远程机器上的操作就位于其中,注意的点:

<< eeooff,ssh后直到遇到eeooff这样的内容结束,eeooff可以随便修改成其他形式。

重定向目的在于不显示远程的输出了

在结束前,加exit退出远程节点

利用aria2多线程同步远端ftp文件夹的实例

aria2 -i 指定url文件

#!/bin/bash

#获取远端目录

ssh root@45.62.118.157 -p 29006 > /dev/null 2>&1 << eeooff

tree -if /var/ftp > /var/ftp/1.tt

exit

eeooff

aria2c ftp://45.62.118.157/1.tt

#格式修剪

sed ‘s/\/var\/ftp/ftp:\/\/45.62.118.157/g’ 1.tt > 2.tt && sed ‘/^$/d’ 2.tt |grep ftp > 3.tt

rm -rf ./1.tt ./2.tt

aria2c –conf-path=/home/ivo/aria2/aria2.conf -i ./3.tt

rm 3.tt -rf

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值