# sshexec **Repository Path**: chonger0819/sshexec ## Basic Information - **Project Name**: sshexec - **Description**: 用户多服务器批量管理,基于sshpass开发 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-12 - **Last Updated**: 2025-10-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 0、前提条件 因为本系统是基于sshpass开发,使用软件前首先检查sshpass是否安装 ``` windows: 该目录下有sshpass.exe,可以直接使用,(该工具只支持64位操作系统,vs2019运行时环境,如果需要32位程序,自行编译吧) ubuntu: sudo apt-get install sshpass centos: sudo yum install sshpass 如果系统未联网: tar zxvf sshpass-1.10.tar.gz ./configure make && make install ``` ### 1、首先配置phosts配置信息 直接在phosts中配置相关信息,可能更合理些 前一部分为:用户名@ip 后一部分为:用户名对应的密码 如 > root@192.168.18.182 nvidia ### 2、依次执行这些命令 #### 1、首先创建docker目录,用于存储相关内容 ``` python3 sshexec.py "mkdir -p ~/docker/ophlt" ``` #### 2、拷贝镜像 ``` python3 sshexec.py "chown -R nvidia /home/nvidia/docker/" python3 scpexec.py ophlt_arm_zhuhai.tar ~/docker/ophlt ``` #### 4、加载镜像 ``` python3 sshexec.py "echo "nvidia"|sudo -S docker load -i /home/nvidia/docker/ophlt/ophlt_kashi.tar" ``` #### 3、创建容器,需要特别注意路径问题 ``` python3 sshexec.py "docker run -d --name opHlt --restart always --log-opt max-size=10m --log-opt max-file=3 -v ~/docker/ophlt/logs:/opHlt/logs -v /proc:/proc_host -v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro --network host -e TZ=Asia/Shanghai ophlt" ``` ``` # 启动一个nginx容器,并限制日志大小 docker run -d \ --name my-nginx \ --log-driver json-file \ # 指定日志驱动,默认为 json-file,可省略 --log-opt max-size=10m \ # 每个日志文件最大10MB --log-opt max-file=3 \ # 最多保留3个日志文件(当前1个,归档2个) nginx:latest ``` docker update --log-opt max-size=10m --log-opt max-file=3 opHlt docker-compose.yml ``` version: '3' services: your-service: image: your-image:tag logging: driver: "json-file" # 使用默认的json-file驱动 options: max-size: "10m" # 每个日志文件最大10MB max-file: "3" # 最多保留3个日志文件(当前1个,归档2个) ``` 设置全局默认日志策略 如果你希望为所有新创建的容器设置统一的日志策略,可以修改 Docker 守护进程的配置文件 /etc/docker/daemon.json(如果文件不存在,请创建它) { "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" } } #全局禁用 { "log-driver": "none" } #### 其他命令 ``` python3 sshexec.py "echo "nvidia"|sudo -S docker stop opHlt" python3 sshexec.py "echo "nvidia"|sudo -S docker rm opHlt" python3 sshexec.py "echo "nvidia"|sudo -S docker rmi ophlt" ``` ### 说明: ssh中不允许嵌套多层 echo "password", 否则会失败 代码处理完成后,通过 black 格式化代码 比如 black sshexec.py black ../sshexec/