通过定时任务+sh脚本方式实现服务器日志文件异机备份

2023-11-08

需求:

等保要求服务器A日志(服务器、数据库、后端、nginx、redis等)备份在另外一台服务器B上

实现原理

通过定时任务+sh脚本+scp命令,实现定时执行脚本,将文件备份到另外一台服务器上

例子:

step1、准备工作

服务器A ipA
服务器B ipB

step2、脚本命令backup.sh

服务器A上,以nginx日志为例

#! /bin/sh
DATE=`date +%Y%m%d`
BAK_NAME=nginx_error_${DATE}.out
scp -P 22 /usr/local/nginx/logs/error.log root@ipB:/data/bak/nginx/${BAK_NAME}

step3、配对秘钥

由于直接执行上述命令需要与服务器B建立连接,还需要输入密码操作,所以要解决SCP命令输入密码的问题
同样在服务器A中:
①主机A生成配对秘钥,在root目录下执行:

ssh-keygen -t rsa

②将 .ssh 目录中的 id_rsa.pub 文件复制到 主机B 的 ~/.ssh/ 目录中,并改名为 authorized_keys:

scp ~/.ssh/id_rsa.pub ipB:/root/.ssh/authorized_keys

step4、设置定时任务:

crontab -e
00 17 * * * /backup.sh >> /backup.txt 2>&1 &
crontab -l

出现问题:
①无权限:

sudo chmod +777 /Map/social_control/social_control.sh

②/bin/sh^M: bad interpreter: No such file or directory
编码格式问题,通过vi backup.sh | :set ff=unix(回车)| :wq 系列命令即可解决

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过定时任务+sh脚本方式实现服务器日志文件异机备份 的相关文章

  • 将存储库从 Github 移至 Gitlab

    有没有办法将整个存储库从 Github 移动到 GitLab 对于代码本身来说 只需在 GitLab 上创建一个新的存储库并推送到它即可 Wiki 页面位于 Github 上的单独分支中 并通过 Git 机制进行管理 据我所知 GitLab
  • 获取 git 存储库中每个文件的提交计数

    我正在寻找一种方法来查看有关 git 存储库中每个文件更改频率的统计信息 基本上 文件提交的频率实际上与以前的版本不同 此外 有没有办法获取文件上次更改的日期 我是一个 git 新手 还没有发现任何关于此的信息 任何帮助将不胜感激 这里有两
  • 配置 Eclipse/EGit 来跟踪上游存储库

    我正在使用 EGit 如新的 Eclipse 4 2 Juno 版本中提供的 我在 GitHub 上有一个存储库 是从另一个上游存储库分叉的 当我从 Github 上的存储库在 Eclipse 中创建项目时 它正确设置origin指向 Gi
  • Travis CI - 如何推送到主分支?

    我有一个连接到 GitHub 的 Travis CI 项目 它尝试更新 Github 存储库中的内容并将它们推送回 GitHub 包括 master 和 gh pages 分支 然而 虽然我的 travis ci 日志文件显示一切正常 但我
  • 如何将 GitHub PR 的代码与其他分支的 PR 代码分开?

    我正在开发一个项目并解决问题 我正在为每个拉取请求 PR 创建一个不同的分支 上次我用他们的 PR 创建了两个不同的分支并解决了这两个问题 现在的问题是 我的两个拉取请求都与我在不同分支上推送的代码搞乱了 我借助以下命令在 git bash
  • 有没有办法搜索 github wiki 页面?

    我添加了一个维基页面 https github com avidanyum spray tomcat example wiki到 github 存储库 但是当我在 github 中搜索示例文本时 this is a very nice wi
  • 从另一个分支或从 master 创建 Git 分支?

    所以我是 Git 新手 我最近从存储库中提取了主分支的新版本 我创建了一个branch 1 获取某个功能并将其推送到存储库并创建拉取请求 现在我创建了一个新的branch 2 具有另一个功能 但由于我的拉取请求尚未合并 再次拉取 maste
  • Github 操作 - 错误:进程已完成,退出代码为 1

    我正在尝试设置 github 操作来部署我的应用程序 My bash 启动部署过程的脚本如下所示 bin sh set e vendor bin phpunit git push true git checkout production g
  • Travis CI 不使用 pom.xml 中提供的额外 Maven 存储库

    我有一个基于 Java 的 GitHub 项目 健身jiffy 弹簧 https github com steve perkins fitnessjiffy spring tree bootstrap 我目前专注于 bootstrap 分支
  • 将项目从 github 克隆到 RStudio 时出现错误消息“无法获取本地颁发者证书”

    我试图从 RStudio 克隆 github 的存储库 我已将 git 配置为版本控制可执行文件 我收到此错误消息 SSL 证书问题 无法获取本地颁发者证书 我需要做什么 Thanks 使用以下步骤 访问 github 站点 www git
  • 带有 GitHub 页面的 Favicon

    我正在托管一些带有 GitHub 页面 用户和项目页面 的网站 但它们没有显示其图标 在浏览器中 是 GitHub 显示站点的问题吗 我知道可以显示网站图标 至少使用 Jekyll 但是我可以单独显示网站图标吗 是的你可以 把这个放入hea
  • 说它已提交,但在 GitHub 中它没有显示

    我刚刚在 Ubuntu 机器上安装了 Rails 我设置了 git 并创建了一个 ssh 密钥来链接到我的帐户 我创建了一个要提交的存储库 并创建了一个示例项目来测试 名为first app 当我提交时 它说一切都已提交 但我去了 gith
  • 执行“挤压和合并”后可能出现问题?

    I used Squash and Merge用于合并dev分支到main因为我不想要来自的一些提交消息dev出现在的分支main但现在我发现main比 dev 提前 1 次提交 并且该图显示 两者之间没有联系dev and main 这是
  • 如何在一台电脑上拥有2个git用户?

    我想练习使用 GitHub 做拉取请求并学习如何观看git 差异不同用户之间 如何在 macOS 的终端上设置另一个用户帐户来执行此操作 如何在用户之间切换 充当第二用户有三个方面 1 GitHub账户 要以其他用户身份使用 GitHub
  • Git 每次提交和拉取时都要求输入密码

    我正在使用带有 Git 扩展的 Visual Studio 2012 我正在使用位桶来存储项目 每次 每当我想要推送或拉取 Git 时 都会询问我帐户密码 在 Windows 8 中 Thanks 您可以使用gitcredentials h
  • 有关多个远程存储库的 Git 状态

    我有一个脚本 如果我忘记在 40 多个存储库中提交或推送一些代码 它会通过电子邮件向我发送提醒 在我的两个项目中 我遵循了这些帖子中的答案 其中我设置了 git push 来推送到多个存储库 从多个远程位置拉 推 https stackov
  • 从 master 更改为新的默认分支 git

    这是一个场景 我们有一个默认的分支 Master 我们以此为基础 创建分支并向上推等等 我们现在创建了一个Develop分支Master并将其设置为默认开发分支 我想知道的是 我现在如何知道我的 git pull 命令是否通过命令行请求默认
  • 在 GitHub 上执行拉取请求时避免不需要的合并提交和其他提交

    我在 Github 上分叉了一个项目 令远程上游为upstream我的远程存储库是origin 我当地的master分支设置为跟踪远程master分支 然后我在本地添加了一些东西master 时不时与上游汇合 直到今天我想发出pull re
  • 如何列出所有 GitHub 用户?

    我正在开发一个网站 需要从 GitHub 爬取所有用户信息 至少是我们网站上的用户 我搜索了 GitHub API 没有找到答案 那么我有什么办法可以完成这份工作吗 我只有用户的电子邮件 我可以通过将电子邮件哈希值与头像 URL 进行比较来
  • ssh 连接超时

    我无法在 git 中 ssh 到 github bitbucket 或 gitlab 我通常会收到以下错误消息 如何避免它 输出 ssh T email protected cdn cgi l email protection i ssh

随机推荐

  • Using fork in Perl to spread load to multiple cores

    原文链接 https perlmaven com fork If you have a big task to do that needs a lot of computation but can be split up in severa
  • 【华为OD机试真题 JAVA】素数之积

    JS版 华为OD机试真题 JS 素数之积 标题 素数之积 时间限制 1秒 内存限制 262144K 语言限制 不限 RSA加密算法在网络安全世界中无处不在 它利用了极大整数因数分解的困难度 数据越大 安全系数越高 给定一个32位正整数 请对
  • 熔断机制-HYSTRIX

    一 问题产生 雪崩效应 是一种因服务提供者的不可用导致服务调用者的不可用 并将不可用逐渐放大的过程 正常情况下的服务 某一服务出现异常 拖垮整个服务链路 消耗整个线程队列 造成服务不可用 资源耗尽 形成过程 1 服务提供者不可用 a 硬件故
  • GPT-4掀起智能革命浪潮,AI风口下将涌现哪些新机遇?

    本文已同步发表至公众号 https mp weixin qq com s kTMhMZQ nfIbbeeXLnDeyA 编辑 AGI之心 3 月 15 日 OpenAI 发布 GPT 4 多模态大模型 支持文本和图像输入 相比前段时间大火的
  • AttributeError: ‘Namespace‘ object has no attribute ‘use_pdserving‘

    问题描述 按照文档安装 运行paddleocr的 demo的时候报这个错 AttributeError Namespace object has no attribute use pdserving 但是我用命令行能跑出来 解决办法 在pa
  • openwrt安装和使用minicom

    opkg list先看一下软件源里面有没有minicom包 有的话就直接安装 opkg install minicom 安装完后执行minicom v查看版本信息确认是否安装成功 安装完成后 把USB串口设备插入到路由器USB口 我用的是p
  • 只出现一次的数字python--只求和?(简单到偷懒)

    对于刚开始接触python小白去刷算法题老想偷懒 想看算法 等等大神 还没学会 哈哈哈哈 水一篇 简单到应该不用加备注 嘿嘿嘿 给定一个非空整数数组 除了某个元素只出现一次以外 其余每个元素均出现两次 找出那个只出现了一次的元素 class
  • 防盗报警系统功能简述

    周界防护系统主要是一些探测设备组成 利用现代科技的声 光处理技术 在第一线感知各种破坏 和犯罪行为 减少犯罪的几率 其主要的器材是红外对射探头 红外对射探头全名叫 光束遮断式感应器
  • 简单聊聊MySQL临时表(TEMPORARY TABLE)

    目录什么的也不需要 一 什么是临时表 二 临时表有哪些类型 1 内部临时表 2 外部临时表 三 对外部临时表说两句 四 执行验证 一 什么是临时表 MySQL临时表在很多场景中都会用到 MySQL内部在执行复杂SQL时 需要借助临时表进行分
  • IT项目管理-分析校园人脸识别门禁系统的可行性

    IT项目管理 分析校园人脸识别门禁系统的可行性 文章目录 IT项目管理 分析校园人脸识别门禁系统的可行性 系统描述 分析 业务 组织 技术 总结 系统描述 校园人脸识别门禁系统主要将人脸识别技术应用于校园门禁中 不同于传统刷卡门禁系统 该系
  • 第8章 Linux文件类型及查找命令实践

    第8章 Linux文件类型及查找命令实践 8 1 Linux文件属性概述 在Linux系统中 文件或目录的属性主要包括 索引节点 Inode 文件类型 权限属性 链接数 所归属的用户和用户组 最近修改时间等内容 执行ls lhi命令可以显示
  • STM32/GD32单片机防止程序克隆盗版解决办法

    1 目的 解决产品在市场流通过程中被电路板抄板 程序克隆 以各种手段窃取别人的知识产权 2 解决方案 1 在程序中处理 在程序每次上电运行时 先获取1次芯片唯一ID缓存在int GetID 10 数组中 然后在Flash特定存储区位置读出
  • 史上最强的 QML 思维导图

    作者 一去 二三里 QQ 技术交流群 242790253 个人微信 iwaleon 加我微信 邀请入 500 人微信群 微信公众号 高效程序员 这是一份史上最强 最高清 最好用的 QML 思维导图 所有内容均来自专栏 细说 QML 全新的
  • 紫光展锐驱动之sensorhub调试

    第一章 平台及硬件信息简介 本文档基于ums312 T310 Android 11 sensorhub架构 sensor的硬件接口为i2c1 该平台目前不支持spi 第二章 紫光展锐的移植文档 第三章 sensor厂家提供的代码 代码在共享
  • Java配置环境变量(保姆级)

    1 前提 你必须成功安装jdk 方可配置java环境变量 2 位置 右击此电脑 点击属性 点击高级系统设置 点击环境变量 在系统变量处配置环境变量 3 配置 3 1 配置JAVA HOME 这个需要新建 变量名 JAVA HOME 这里需要
  • 利用Python结构化您的工程

    我们对于 结构化 的定义是您关注于怎样使您的项目最好地满足它的对象性 我们 需要去考虑如何更好地利用Python的特性来创造简洁 高效的代码 在实践层面 结构化 意味着通过编写简洁的代码 并且正如文件系统中文件和目录的组织一样 代码应该使逻
  • 3090单卡+yoloV8+训练手势识别(手把手教学)

    利用yoloV8训练自己的数据集 手势识别数据 github 官方项目链接 yolo相关发展史介绍 YOLO You Only Look Once 是一种流行的对象检测和图像分割模型 由华盛顿大学的 Joseph Redmon 和 Ali
  • python进行大小写转换

    操作很简单 只是今天写作业的时候看到一堆大写感觉手动转换太累了 就想着用python弄一下 果然效率变快了 记录一下咯 大写变小写 使用lower 函数 小写变大写 使用upper 函数 s FACING VIRUSES WITH RELA
  • nginx+nginx-http-flv-module+ffmpeg/obs实现点播+直播

    nginx nginx http flv module ffmpeg obs实现点播 直播 更新 2021 02 19 nginx nginx http flv module ffmpeg obs实现点播 直播 现在使用ffmpeg实现rt
  • 通过定时任务+sh脚本方式实现服务器日志文件异机备份

    需求 等保要求服务器A日志 服务器 数据库 后端 nginx redis等 备份在另外一台服务器B上 实现原理 通过定时任务 sh脚本 scp命令 实现定时执行脚本 将文件备份到另外一台服务器上 例子 step1 准备工作 服务器A ipA