当前位置: 首页 > news >正文

数据备份学习笔记2

Linux实现本地备份的命令:

mkdir -p /root/backup/`date "+%Y-%m-%d"`
tar -zcvPf /root/backup/`date "+%Y-%m-%d"`/test20230221.tar.gz /root/test20230221/

我们再看下tar命令选项:

tar -czvf txt3.tar.gz txt3
tar -xvf txt4.tar.gz

tar常用命令参数说明
tar命令的czvf/xzvf参数分别代表的意义如下:
-c 或--create 建立新的备份文件。
-x或--extract或--get 从备份文件中还原文件。
-z或--gzip或--ungzip 通过gzip指令处理备份文件。
-v或--verbose 显示指令执行过程。
-f<备份文件>或--file=<备份文件> 指定备份文件。

然后现在试着写这个本地备份的脚本:

#!/bin/bash
source_folder=/root/test20230222
backup_folder=/root/backup/`date "+%Y-%m-%d"`
source_folder_name=`echo $source_folder |awk -F "/" '{print $3}'`.tar.gz
echo "source_folder: $source_folder"
echo "backup_folder: $backup_folder"
echo "source_folder_name: $source_folder_name"mkdir -p /root/backup/`date "+%Y-%m-%d"`tar -zcvPf $backup_folder/$source_folder_name $source_folder
echo "$source_folder_name file backup succeeded"

 

加入crond定时任务并将输出与错误重定向至文件:

编辑添加crond定时任务列表:

设置每天00:00执行一次备份任务,并将标准输出与标准错误重定向至日志文件

crontab -e0 0 * * * sh /root/backup/compress_backup.sh 2>&1 /root/backup/log_$(date +\%Y-\%m-\%d)

然后是观测任务执行情况:

异地备份:

1、异地备份命令测试:

在192.168.17.180的机器上:

在192.168.17.181的机器上检查:

 

使用expect来编写脚本,当提示输入密码的时候可自动对应输入密码。

#!/usr/bin/expect -f# 获取当前日期 例如:2022-10-12
set date [ clock format [ clock seconds ] -format "%Y-%m-%d" ]# 传输用户名
set username mrswhite# 对端hostIP地址
set host 192.168.37.9# 密码
set password test20221012#设置本地传输路径-前缀
set source_folder /root/backup#设置兑换传输路径
set backup_folder /root/back_up_offsite#  expect默认timeout为30S  超过30s未传输完会停止,设置为 -1 则不限制超时时间
set timeout -1#                    压缩  递归   本地绝对路径           用户名   目标IP   目标路径spawn  /usr/bin/scp  -C   -r    $source_folder/$date/   $username@$host:$backup_folder
expect  {
"*yes/no" {send "yes\r";exp_continue}
"*password:" {send "$password\r"}
}expect eof

http://www.lryc.cn/news/14880.html

相关文章:

  • webRTC
  • 用Python搓一个黑洞
  • Spring MVC常用功能及注解
  • shell 编程
  • Leetcode.1401 圆和矩形是否有重叠
  • CHAPTER 3 Web Server - httpd配置(二)
  • VSCode 连接 SSH 服务器
  • 如何选择靠谱的插画培训课程
  • 剑指 Offer 28. 对称的二叉树
  • 深入Spring底层透析后置处理器之豁然开朗篇
  • 软件测试(基础定义篇)
  • 华为OD机试 - 寻找目标字符串 | 机试题算法思路 【2023】
  • 使用echart绘制中国地图并显示人数
  • Git的常用命令
  • AcWing1018.最低通行费
  • 【面试题】vue中的插槽是什么?
  • Go语言结构体struct详解,Go空结构体的这些妙用你知道吗?
  • 华为OD机试 - 航天器(Python) | 机试题+算法思路+考点+代码解析 【2023】
  • 【Optional】告别丑陋判空,使用Optional类
  • 魔兽世界服务端端新手搭建教程
  • 宝塔搭建实战人才求职管理系统mobile手机端vue源码(五)
  • 生态应用:探讨 NGINX 与上下游系统集成时的开发经验
  • ArcGIS批量拼接大量栅格遥感影像:Mosaic工具
  • Flink UI部署jar包报错
  • Linux就该这么学:RAID与LVM磁盘阵列技术
  • Prometheus+Grafana监控
  • 【JUC2022】第三章 线程中断与 LockSupport
  • 数据结构刷题(七):202快乐数、1两数之和、454四数相加II、15三数之和、18四树之和
  • 华为机试题:HJ80 整型数组合并(python)
  • spring boot——自定义依赖实现自动配置