定时备份与定时通知

这篇具有很好参考价值的文章主要介绍了定时备份与定时通知。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

定时备份与定时通知

背景:SQL server代理每天通过维护计划自动备份数据库到文件A中(.bak文件),为了避免文件A所在的服务器有异变发生,需要将文件A备份到其他服务器(同一个局域网)中。

工具:1、FreeFileSync(自动同步文件) 2、 钉钉机器人 3、python写脚本发送备份成功与否的消息到钉钉的机器人上 4、window10任务计划程序 5、自动删除脚本.bat(没用上,原本是用来保留七天以内的文件信息,后面通过FreeFileSync筛选解决了)

步骤:
1、使用FreeFileSync备份文件到局域网中的一个服务器中
2、python调用钉钉机器人
3、window10任务计划程序进行定时执行

1、FreeFileSync

定时备份与定时通知

需要注意3个地方

第1个,需要另存为批处理作业,在设置的时候勾选最小化运行和自动关闭,在定期执行之后不会弹出其运行页面了。

定时备份与定时通知

第2个,筛选,这里可以使用其功能进行保留哪一些文件或者哪一些日期进行备份;我使用的是时间跨度选择来进行七天以内的进行镜像备份,一开始我想的是全部备份,在通过脚本去删除其余的,但是我发现脚本在访问其他服务器的时候无法进行删除,试了很多操作都没有成功,如有人知道怎么解决的话,我会非常欢迎!

定时备份与定时通知

第3个,同步,也就是选你需要的同步类型,有双向同步,有单向镜像copy,也有更新,还可以自定义,这里我使用的是镜像,就是把原文件copy一份到新服务器中。

定时备份与定时通知

2、python调用钉钉机器人

python版本: 3.6.8

需要导入 DingtalkChatbot;

钉钉群里自定义机器人,消息推送开启,记住WebHook、加签密钥(可选)和自定义关键字(这很重要,在消息发送的时候需要存在自定义的关键字)

定时备份与定时通知

定时备份与定时通知

定时备份与定时通知

完成在钉钉群里添加自定义机器人步骤即可。

接下来就是使用python来完成备份成功与否的判定,并且发送至钉钉。效果图如下:

定时备份与定时通知

import os
import datetime
from dingtalkchatbot.chatbot import DingtalkChatbot
import re

def check_for_daily_files(folder_path):
    today = datetime.date.today()
    # target_file_pattern = re.compile(r'^AIS20220708188888.*\.bak$') 
    target_file_pattern = re.compile(r'^AIS\d+_backup_.*\.bak$')  # 匹配类似"A008888-aa.bak"或"A008888-123.bak"的文件名
    # target_file_pattern = re.compile(r"A008888-(?:\d+|aa)\.bak")  # 匹配类似"A008888-aa.bak"或"A008888-123.bak"的文件名

    found_daily_files = 0  # 用于追踪当天符合条件的文件数量
    found_sum_files = 0  # 用于追踪文件数量


    for root, dirs, files in os.walk(folder_path):
        for file in files:
            file_path = os.path.join(root, file)
            if target_file_pattern.match(file) and datetime.datetime.fromtimestamp(os.path.getmtime(file_path)).date() == today:
                found_daily_files += 1
            if target_file_pattern.match(file) :
                found_sum_files += 1

        
    if found_daily_files >= 1:
        message = "定时推送:备份成功!" + "日期为“"+ str(today) + "”的文件备份成功!" 
        # message = "备份提醒:备份成功!" + "文件夹存在 "+ str(found_sum_files) + " 个文件"
        xiaoding.send_text(msg= message,is_at_all = False)
    else:
        message = "定时推送:备份失败!" + "日期为“"+ str(today) + "”的文件备份失败!"
        xiaoding.send_text(msg= message,is_at_all = True)
        # message = "备份提醒:备份失败!" + "文件夹存在 "+ str(found_sum_files) + " 个文件"

if __name__ == "__main__":
    WEBHOOK_URL = "前面说到的Webhook"
    secret = "前面说到的加签"  # 可选:创建机器人勾选“加签”选项时使用
    xiaoding = DingtalkChatbot(WEBHOOK_URL,secret)  # 方式一:通常初始化方式
    path_to_watch = "需要监测的文件夹"
    #测试
    if os.path.exists(path_to_watch):
        print("exists")
    else:
        print("not")
    check_for_daily_files(path_to_watch)

3、window10任务计划程序进行定时执行

上面说到使用FreeFileSync生成的批处理作业,还有python的文件。接下来我们使用window的任务计划程序进行定时执行。

定时备份与定时通知

定时备份与定时通知

定时备份与定时通知

一直往下走,按照自己的需求选择,到最后选择程序或脚本的时候,(根据需求)把我们之前写的批处理作业和py文件放进去,就大功告成了。

定时备份与定时通知

That is all.

此外,我还遇到一个问题就是配置特定文件只对局域网内的特定用户进行开放(A电脑中的文件A只能让B电脑去访问)。
连接如下:
https://www.cnblogs.com/BambooDoorSay/p/17965591文章来源地址https://www.toymoban.com/news/detail-790800.html

到了这里,关于定时备份与定时通知的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android 9.0 原生SystemUI下拉通知栏UI背景设置为圆角背景的定制(一)

     在9.0的系统rom产品定制化开发中,在原生系统SystemUI下拉状态栏的通知栏的通知背景默认是白色四角的背景, 由于在产品设计中,需要把四角背景默认改成圆角背景,所以就需要分析系统原生下拉通知栏的每条通知的默认背景, 然后通知显示流程,设置默认下拉状态栏UI中

    2024年02月01日
    浏览(47)
  • Android 9.0 原生SystemUI下拉通知栏UI背景设置为圆角背景的定制(二)

     在9.0的系统rom定制化开发中,在原生系统SystemUI下拉状态栏的通知栏的背景是默认白色四角的背景,由于在产品设计中,需要把四角背景默认改成圆角背景,所以就需要分析系统原生下拉通知栏的每条通知的默认背景,然后通过熟悉systemui的通知栏流程,设置默认下拉状态栏

    2024年02月05日
    浏览(51)
  • Android 12.0 原生SystemUI下拉通知栏UI背景设置为圆角背景的定制(二)

     在12.0的系统rom定制化开发中,在原生系统SystemUI下拉状态栏的下拉通知栏的背景默认是白色四角的背景, 由于在产品设计中,在对下拉通知栏通知的背景需要把四角背景默认改成圆角背景,所以就需要分析系统原生下拉通知栏的每条通知的默认背景, 然后通过systemui的通知

    2024年02月08日
    浏览(50)
  • SystemUI下拉通知菜单栏定时自动隐藏

    在系统应用开发过程中,常常遇到一些特殊的需求,Android原生的应用并无此适配,此时需要对系统应用进行定制化开发。 目前遇到的这样一个需求:下拉通知菜单栏时,定时8秒后自动关闭通知菜单栏。通知菜单栏为SytstemUI中的一个特殊窗口,原车系统不支持自动关闭。 下拉

    2024年02月05日
    浏览(20)
  • gitlab本地备份(自动定时备份)

    gitlab本地定时备份 一、准备工作 本地默认备份路径:/var/opt/gitlab/backups gitlab备份命令:gitlab-rake gitlab:backup:create gitlab恢复命令:gitlab-rake gitlab:backup:restore BACKUP=备份包名 gitlab备份配置修改:/etc/gitlab/gitlab.rb 二、修改gitlab配置参数 进入配置参数 vi /etc/gitlab/gitlab.rb 修改以下字

    2024年02月04日
    浏览(75)
  • 微信小程序服务通知(订阅消息)定时推送消息功能

    首先先说项目需求:向预约参观的用户提前一天晚上8点推送消息。小程序端主要用到的 API 是我是小程序用到的API。以及服务端用到的 API :我是服务端用到的API。 1. 开通订阅消息功能 (1)、 首先需要在小程序管理后台开通订阅消息功能。没开通前如下图所示: (2)、开通之

    2024年02月08日
    浏览(80)
  • Linux中的定时任务(案例:定时备份和清空)

    Linux中的定时任务(案例:定时备份和清空) Linux crontab 是用来定期执行程序的命令, 当安装完成操作系统之后,默认便会启动此任务调度命令。 crond 命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。 crontab -e :打开文字编辑器来设定时

    2024年01月18日
    浏览(44)
  • mysql实现定时备份

    1、编写脚本xxx.bat 2、实现定时任务 2.1 打开任务计划程序 2.2 创建基本任务 2.3输入名称 点击下一步 2.4设置触发器 点击下一步 2.4设置执行时间 点击下一步 2.5设置自动程序 点击下一步 2.6选择脚本所在位置 点击下一步 2.7、点击完成 注意:此处如果安装有360记得退出,否词会

    2024年02月09日
    浏览(36)
  • MySQL定时备份及清理脚本

    在MySQL中,定时备份和清理通常通过结合操作系统的定时任务(如Linux的cron或Windows的任务计划程序)和SQL脚本或命令行工具来完成。下面是一个简单的例子,展示了如何在Linux系统中使用cron和mysqldump命令来定时备份MySQL数据库,并使用find命令来清理旧的备份。 1. 备份MySQL数据

    2024年02月20日
    浏览(37)
  • 定时备份MySQL数据库

    MySQL 提供了 mysqldump 命令来实现导出数据库,命令用法如下: 在 Linux 服务器中结合 crontab 定时命令实现定时备份数据库,同时支持压缩、备份日志、定期清理等功能。 新建 mysql 的备份命令脚本 复制以下内容: 至此,执行该脚本,可以生成压缩的数据库.sql文件 给 shell 设置

    2024年02月07日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包