仓库同步脚本

python 复制代码
#!/home/labstation/.local/anaconda3/bin/python3
from paramiko import SSHClient as ssh
from paramiko import AutoAddPolicy
from rich.console import Console
import os
import time

cli = ssh()
cli.load_system_host_keys()
cli.set_missing_host_key_policy(AutoAddPolicy())
cli.connect("128.0.0.1", username="git")
stdin, stdout, stderr = cli.exec_command("")
repos = list(
    filter(
        lambda x: x.startswith("sw"),
        map(
            lambda x: x[x.find("sw") :],
            filter(
                lambda x: x.startswith("R") or x.startswith("W"),
                map(lambda x: x.strip(" "), stdout.read().decode("utf-8").split("\n")),
            ),
        ),
    )
)

richConsole = Console()
richConsole.print()
with richConsole.status("[red] company repos backup working[/]") as status:
    for repo in repos:
        if os.access("/home/labstation/workqueue/%s" % (repo), os.F_OK):
            print(f"{repo} fetch from remote start")
            os.system(
                "cd /home/labstation/workqueue/%s && git fetch 2>/dev/null 1>/dev/null"
                % (repo)
            )
            print(f"{repo} fetch from remote complete")
        else:
            print(f"{repo} clone from remote start")
            os.system(
                "git clone git@128.0.0.1:%s /home/labstation/workqueue/%s \
                2>/dev/null 1>/dev/null"
                % (repo, repo),
            )
            print(f"{repo} clone from remote complete")
相关推荐
狂团商城小师妹20 分钟前
智慧废品回收小程序php+uniapp
大数据·微信·微信小程序·小程序·uni-app·微信公众平台
豪越大豪26 分钟前
豪越消防一体化安全管控平台新亮点: AI功能、智能运维以及消防处置知识库
大数据·人工智能·运维开发
码界筑梦坊2 小时前
基于Flask的短视频流量数据可视化系统的设计与实现
大数据·python·信息可视化·flask·毕业设计
weixin_307779133 小时前
PySpark实现GROUP BY WITH CUBE和WITH ROLLUP的分类汇总功能
大数据·开发语言·python·spark
平凡君3 小时前
ElasticSearch查询指南:从青铜到王者的骚操作
大数据·elasticsearch·搜索引擎
songbaoxian4 小时前
ElasticSearch
java·linux·elasticsearch
Dolphin_Home5 小时前
搭建 Hadoop 3.3.6 伪分布式
大数据·hadoop·分布式
Yvonne9785 小时前
Hadoop HDFS基准测试
大数据·hadoop·hdfs
Yvonne9785 小时前
Hadoop初体验
大数据·hadoop
易安杰7 小时前
ElasticSearch+Kibana通过Docker部署到Linux服务器中
linux·elasticsearch·搜索引擎·全文检索·中文分词