python实现服务器定时备份文件
发布日期:2021-05-08 12:54:48 浏览次数:25 分类:精选文章

本文共 972 字,大约阅读时间需要 3 分钟。

实现功能:定时从目标机器上扫描需要备份的文件并copy过来,采用的是SSH的方式

具体步骤:

  • 在Ubuntu下采用sshpass工具

    sshpass 是一个强大的工具,它可以在SSH连接时直接输入密码,操作起来非常方便。安装命令如下:

    sudo apt-get install sshpass
  • 直接上代码

    下面是一个简单的bash脚本示例,用于定时从目标机器上扫描并备份文件。这个脚本采用了sleep命令来释放CPU资源,避免系统过载。

    #!/bin/bashimport osimport datetimeimport time# 定义时间间隔,单位为秒SLEEPTIME=1# 获取当前时间NOWTIME=datetime.datetime.now()# 设置下次检查时间NEXTTIME=NOWTIME + datetime.timedelta(seconds=20)while true; do    if [ $SLEEPTIME -eq 1 ]; then        time.sleep(10)        SLEEPTIME=0    else        NOWTIME=datetime.datetime.now()        if [ $NOWTIME >= $NEXTTIME ]; then            # 执行备份命令            os.system("sshpass -p xxx scp -r chasing@172.20.241.153:/home/chasing/xx .")            NOWTIME=datetime.datetime.now()            NEXTTIME=NOWTIME + datetime.timedelta(seconds=20)            SLEEPTIME=1        fi    fidone
  • 说明

    在这个脚本中,sleep命令的作用是释放CPU资源。否则,系统可能会因为不断查询当前时间而过载。

  • 扩展功能

    这个程序只是一个基础实现,可以根据实际需求进行扩展。例如,你可以增加文件大小限制、过滤特定文件类型等功能。

  • 这个脚本简单易懂,但如果需要更高效的实现,可以考虑使用更专业的备份工具或脚本框架。

    上一篇:Shell编程知识点汇总(一)
    下一篇:Px4下载指定版本的固件

    发表评论

    最新留言

    网站不错 人气很旺了 加油
    [***.192.178.218]2025年04月29日 07时17分41秒