`

【记录】使用python并行执行shell

 
阅读更多

#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
import subprocess
import os 


'''
argv[1]  日期
argv[2]  本地rsync路径【暂时没用】
argv[3]  远程rsync ip
argv[4]  任务列表地址

'''
class RsyncTask:
        def __init__ (self,date,localpath,ip,taskpath) :
                self.date = date;
                self.localpath = localpath;
                self.ip = ip;
                self.taskpath = taskpath;

        def run(self):
        #       file_log=open("/data1/result/baby/log","a+");
                file = open(self.taskpath,'r');
                while 1:
                        file_lines = file.readlines(100000);
                        if not file_lines:
                                break
                        for lines in file_lines:
                                line=lines.split("\t");
                                if line[0]!="taskId":
                                        taskId=line[0];
                                        userId=line[1];
                                        emails=line[2];
                                        taskName=line[3];
                                        task_type=line[4];
                                        userPath=line[5];
                                        flag=line[6];
                                        a1=line[7];
                                        a2=line[8];
                                        a3=line[9];
                                        a4=line[10];
                                        cmd="sh /usr/home/baby/shell/usertool/deal_tblog_user_rsync.sh  " + self.date +"  " + taskId + " " + userId + " " +  emails + " " + taskName + " " + task_type + " " + userPath + " " + self.ip + " " + flag + " " + a1 + " " + a2 + " " + a3 + " " + a4;
                                        p=subprocess.Popen(cmd,shell=True);

                file.close();
if __name__ == '__main__':
        r=RsyncTask(sys.argv[1],sys.argv[2],sys.argv[3],sys.argv[4]);
        r.run();

分享到:
评论

相关推荐

    Go-rush--并行执行shell命令

    **正文** `Go-rush` 是一个用于并行执行Shell命令的工具,它在Go语言中实现,旨在提供与GNU parallel类似的功

    在python 中实现运行多条shell命令

    使用py时可能需要连续运行多条shell 命令 1. # coding: UTF-8 import sys reload(sys) sys.setdefaultencoding('utf8') import subprocess import os import commands #os.system('cmd1 && cmd2') cmd1 = ...

    linux 云主机 管理系统,包含 CMDB,webssh登录、命令执行、异步执行shell/python/yml、查看日志等功

    异步执行shell/python/yml功能扩展了命令执行的能力,支持脚本语言如Shell、Python和YAML(通常用于Ansible配置管理)。这使得更复杂的任务自动化成为可能,例如批量更新系统、数据处理、服务部署等。异步执行意味着...

    Python-ptime用于并行分析的IPython魔术

    2. **并行执行**:然后,它使用IPython的并行计算框架,如`Parallel`或`multiprocessing`库,将代码分解为可并行执行的部分,并在可用的计算资源上同时运行。 3. **比较结果**:最后,`%ptime`会对比串行和并行执行...

    分子力学系统和模拟数据_Python_Shell_下载.zip

    【标题】中的“分子力学系统和模拟数据_Python_Shell_下载”表明这是一个与分子动力学模拟相关的资源包,其中可能包含使用Python编程语言和Shell脚本进行计算和数据分析的内容。分子力学是一种在原子和分子水平上...

    Centos7下源码安装Python3 及shell 脚本自动安装Python3的教程

    这个shell脚本可以保存为`install_python3.sh`,通过`bash install_python3.sh`执行,自动完成整个Python3的安装过程。请注意,根据实际情况,你可能需要根据你的需求调整脚本中的版本号和其他配置。

    Python炉石传说,多进程优化

    4. **多进程优化**:在Python中,多进程(multiprocessing)是通过创建多个独立的进程来并行执行任务,从而提高程序的执行效率。每个进程都有自己的内存空间,可以同时处理不同的任务。在这个脚本中,多进程可能被...

    Python-python自动化运维技术与最佳实践书中示例及案例

    6. **系统管理**:包括使用Python接口操作Linux系统,如使用subprocess模块执行shell命令,用psutil获取系统资源信息,用dbus或systemd进行服务管理等。 7. **日志处理**:Python的日志模块logging提供了一套完整的...

    PyParallelShellJobs:使用 python 在本地机器上并行运行命令

    PyParallelShellJobs是一个Python模块,它允许开发者以并行的方式执行多个shell命令,充分利用多核处理器的计算能力。 PyParallelShellJobs的核心在于其并行化执行机制。它使用了Python的`concurrent.futures`模块...

    java、python、go、shell等项目代码读取并存储到一个word文档中,软著申请工具。.zip

    在本项目中,我们主要关注的是使用Python编程语言来实现一个功能,该功能涉及读取多种编程语言(如Java、Python、Go和Shell)的源代码,并将这些代码内容整合到一个Word文档中,以便于整理和归档,可能的应用场景是...

    最新版linux Python-3.8.6.tgz

    Python在Linux上可以编写shell脚本替代bash,利用其强大的文本处理能力,如grep、awk等功能。此外,Python还常用于自动化运维、数据分析、Web开发、科学计算等场景。 10. **持续更新与维护**: 保持Python的更新...

    PyPI 官网下载 | shell_utils-2.0-py2.py3-none-any.whl

    6. 并行执行:支持多命令并行执行,提升效率。 在实际应用中,shell_utils库可以帮助开发者更便捷地处理那些需要与操作系统交互的任务,例如文件操作、系统信息获取、网络请求等。它减少了编写自定义脚本的复杂性,...

    Python库 | parallel_ssh-1.8.0-cp35-cp35m-win32.whl

    `parallel_ssh` 是一个Python库,专为进行并行SSH操作而设计,它允许用户在多台远程主机上执行命令、管理文件等操作,并以并发方式处理,大大提高了运维效率。这个库是Python开发者的强大工具,特别是在需要对大量...

    Python3交互式shell ipython3安装及使用详解

    ### Python3交互式Shell IPython3安装及使用详解 #### 一、IPython简介 IPython(Interactive Python)是一款功能强大的交互式Python Shell,相比于Python自带的标准Shell,它提供了更多的便利性和灵活性。其中,...

    浅谈python多线程和队列管理shell程序

    Python的多线程功能可以通过`threading`模块实现,它允许开发者创建多个线程来并行执行任务。多线程特别适合IO密集型的应用场景,如网络请求、文件读写等,因为这些操作往往会导致程序阻塞。 #### 二、Python多线程...

    python in paraview

    - **ParaView GUI (paraview)**: 提供了一个包含Python Shell的图形用户界面,类似pvpython的功能。 #### ParaView配置 ParaView可以根据实际需求采用不同的配置方式: - **独立模式 (pvpython)**: 适用于简单的...

    python socket 网络编程

    通过socket实现远程命令行执行,通常涉及网络上的shell交互。服务器端接收客户端的命令字符串,然后使用os模块的`os.system()`或`subprocess`模块来执行命令,获取命令的输出,再通过socket返回给客户端。这种方式...

Global site tag (gtag.js) - Google Analytics