Clonezilla 备份还原过程推送日志到 syslog

Clonezilla 备份、还原过程中,系统的运行日志只能显示到客户端显示器上,如果出现错误,无法在服务端查询到对应的日志,一是故障判断不太方便;另一方面,实现日志推送,也可以将 Clonezilla 运行进度上传到服务端,监控备份还原的进度。

以下为备份、还原过程中常见的节点,可以在该命令下方添加推送 syslog 的指令。

在这里插入图片描述

1、系统备份

✓空间不足或权限问题(line: 1137)

# usr\share\drbl\sbin\ocs-functionsif [ "$ok_c" = "no" ]; then[ "$BOOTUP" = "color" ] && $SETCOLOR_FAILUREecho "$msg_disk_is_full_or_permission_issue: $tgt_dir" | tee --append ${OCS_LOGFILE}[ -n "$prompt_msg" ] && echo $prompt_msg[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMALecho "$msg_program_stop!" | tee --append ${OCS_LOGFILE}[ -f "$diskfull_test" ] && rm -f $diskfull_testecho -n "$msg_press_enter_to_continue..."read# Saving mode, always copy error log to image dir.copy_error_logexit 1fi
# usr\share\drbl\lang\bash\zh_CN.UTF-8
msg_disk_is_full_or_permission_issue='空间不足或权限问题,当前目录无法写入:'# Clonezilla运行过程中提示
空间不足或权限问题,当前目录无法写入: /home/partimag

✓开始保存镜像(line: 1774)

# usr\share\drbl\sbin\ocs-functionsecho "Starting saving $source_dev as $tgt_dir/${tgt_file}.XXX..." | tee --append ${OCS_LOGFILE}

✓完成保存镜像(line: 1289、1471、1531、1715)

# usr\share\drbl\sbin\ocs-functionssave_part_by_ntfsclone() {# ...echo "Finished saving $source_dev as $tgt_dir/${tgt_file}.ntfs-img"
} #  end of save_part_by_ntfsclonesave_part_by_partclone() {# ...if [ $rc -eq 0 ]; thenecho $msg_delimiter_star_line | tee --append ${OCS_LOGFILE}echo "Finished saving $source_dev as $tgt_dir/$(to_filename ${tgt_file}).${fs_pre}-img.${comp_suf}" | tee --append ${OCS_LOGFILE}fireturn $rc
} #  end of save_part_by_partclonesave_part_by_partimage() {# ...echo "Finished saving $source_dev as $tgt_dir/${tgt_file}.XXX" | tee --append ${OCS_LOGFILE}return $rc
} # end of save_part_by_partimagesave_part_by_dd() {# ...echo "Finished saving $source_dev as $tgt_dir/$(to_filename ${tgt_file}).dd-img" | tee --append ${OCS_LOGFILE}return $rc
} # end of save_part_by_dd

✓镜像保存报错(line: 1800)

# usr\share\drbl\sbin\ocs-functionsecho $msg_delimiter_star_line | tee --append ${OCS_LOGFILE}if [ "$rc" -ne 0 ]; then[ "$BOOTUP" = "color" ] && $SETCOLOR_FAILUREecho "Failed to save partition $source_dev." | tee --append ${OCS_LOGFILE}[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMALecho "$msg_press_enter_to_continue..."read# Saving mode, always copy error log to image dir.copy_error_logfi
# Clonezilla运行过程中提示
Failed to save partition /dev/nvme0n1p3.

✓镜像保存/未保存成功+完成保存(line: 8760)

# usr\share\drbl\sbin\ocs-functionsif [ "$rc_task_savedisk" -eq 0 ]; then[ "$BOOTUP" = "color" ] && $SETCOLOR_WARNINGecho "$msg_this_image_saved_successfully: $target_dir"[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMALelse[ "$BOOTUP" = "color" ] && $SETCOLOR_FAILUREecho "$msg_this_image_not_saved_correctly"[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMALfiecho "End of savedisk job for image $target_dir." | tee --append $OCS_LOGFILE
# usr\share\drbl\lang\bash\zh_CN.UTF-8
msg_this_image_saved_successfully='镜像保存成功'
msg_this_image_not_saved_correctly='镜像未保存成功'# Clonezilla运行过程中提示
End of savedisk job for image /home/partimag/2023-07-09-img.

2、系统还原

✓开始还原镜像(line: 5519、5589、5691、5812)

# usr\share\drbl\sbin\ocs-functionsunicast_restore_by_partimage() {# ...echo $msg_delimiter_star_line | tee --append ${OCS_LOGFILE}echo "Starting unicast restoring image ${target_d##*/} to $part..." | tee --append ${OCS_LOGFILE}# ...
} # end of unicast_restore_by_partimageunicast_restore_by_ntfsclone() {# ...echo $msg_delimiter_star_lineecho "Starting unicast restoring image ${target_d##*/} to $part..."# ...
} # end of unicast_restore_by_ntfscloneunicast_restore_by_partclone() {# ...echo $msg_delimiter_star_lineecho "Starting unicast restoring image ${target_d##*/} to $part..." | tee --append ${OCS_LOGFILE}# ...
} # end of unicast_restore_by_partcloneunicast_restore_by_dd() {# ...echo $msg_delimiter_star_lineecho "Starting unicast restoring image ${target_d##*/} to $part..."# ...
} # end of unicast_restore_by_dd

✓完成还原镜像(line: 6185)

# usr\share\drbl\sbin\ocs-functionsecho $msg_delimiter_star_line# time_elapsed, time_elapsed_in_min and speed are global variables# get the cat program: cat, zcat or bzcatif [ -f "$target_d/$img_file.000" -o \-n "$(ls $target_d/$img_file.aa* 2>/dev/null)" -o \-f "$target_d/$img_file" ]; then# The saved image is from partimageclean_filesystem_header_in_dev $partunicast_restore_by_partimageelif [ -f "$target_d/$img_file.ntfs-img" -o \-n "$(ls $target_d/$img_file.ntfs-img.aa* 2>/dev/null)" ]; then# The saved image is from ntfscloneclean_filesystem_header_in_dev $partunicast_restore_by_ntfscloneelif is_partclone_image $target_d $img_file; then# The saved image is from partcloneclean_filesystem_header_in_dev $partunicast_restore_by_partcloneelif is_dd_image $target_d $img_file; then# The saved image is from ddclean_filesystem_header_in_dev $partunicast_restore_by_ddfiecho "Finished unicast restoring image ${target_d##*/} to $part." | tee --append ${OCS_LOGFILE}sleep 1

✓完成还原(line: 9349)

# usr\share\drbl\sbin\ocs-functionsecho "Running: task_restoreparts \"$target_dir\" \"$target_parts\" \"$port\"" >> $OCS_LOGFILEtask_restoreparts "$target_dir" "$target_parts" "$port"echo "End of restoredisk job for image $target_dir." | tee --append $OCS_LOGFILE

3、ocs-sr通用

✓开始ocs-sr(line: 1116)

# usr\sbin\ocs-srecho "Starting $0 at "$(LC_ALL=C date +%F' '%T' '%Z)"..." | tee --append ${OCS_LOGFILE}

✓完成ocs-sr(line: 1756)

# usr\sbin\ocs-srecho "Ending $0 at $(LC_ALL=C date +%F' '%T' '%Z)..." | tee --append ${OCS_LOGFILE}
exit 0
# Clonezilla运行过程中提示
Ending /usr/sbin/ocs-sr at 2024-01-01 13:13:13 UTC...

✓完成后重启(line: 96)

# usr\share\drbl\sbin\ocs-functionsreboot)ocs-park-disksecho -n 'Will reboot... '; countdown 5reboot $HALT_REBOOT_OPT;;
# Clonezilla运行过程中提示
Will reboot...  5 4 3 2 1

4、服务端日志收集

以上 Clonezilla 文件中,通过 shell 脚本去修改文本,添加日志命令,最终结果如下:

1)备份日志

2024-07-18 18:53:41 | INFO     | 192.168.100.161 ipxe: Downloaded "menu.ipxe"
2024-07-18 18:53:41 | INFO     | 192.168.100.161 ipxe: Executing "menu.ipxe"
2024-07-18 18:53:45 | INFO     | 192.168.100.161 ipxe: Downloaded "vmlinuz"
2024-07-18 18:53:47 | INFO     | 192.168.100.161 ipxe: Downloaded "initrd.img"
2024-07-18 18:53:47 | INFO     | 192.168.100.161 ipxe: Executing "vmlinuz"
2024-07-18 18:54:26 | INFO     | 192.168.100.163 clonezilla: Mounting samba, will mount //192.168.100.100/imgman to /home/partimag by admin
2024-07-18 18:54:26 | INFO     | 192.168.100.163 clonezilla: Mount type cifs, size 146.9G, used 5%, avail 139.1G
2024-07-18 18:54:26 | INFO     | 192.168.100.163 clonezilla: Mount success, /home/partimag already 3 images
2024-07-18 18:54:33 | INFO     | 192.168.100.163 clonezilla: Start execute clonezilla backup image script ↓↓↓
2024-07-18 18:54:33 | INFO     | 192.168.100.163 clonezilla: Select disk order: nvme ssd(100G) -> sata ssd(100G) -> sata hdd(400G)
2024-07-18 18:54:39 | INFO     | 192.168.100.163 clonezilla: List disks nvme0n1(type ssd, model VMware Virtual NVMe Disk, size 172G)
2024-07-18 18:54:40 | INFO     | 192.168.100.163 clonezilla: Select disk is nvme0n1
2024-07-18 18:54:40 | INFO     | 192.168.100.163 clonezilla: Backup image name is (from server, it may be empty)
2024-07-18 18:54:47 | INFO     | 192.168.100.163 clonezilla: Backup image name is img_01_top(actual saved image name)
2024-07-18 18:54:47 | INFO     | 192.168.100.163 clonezilla: Start backup disk nvme0n1 to image img_01_top
2024-07-18 18:54:55 | INFO     | 192.168.100.163 clonezilla: Starting /usr/sbin/ocs-sr at 2024-07-18 10:54:55 UTC
2024-07-18 18:55:06 | INFO     | 192.168.100.163 clonezilla: Starting saving /dev/nvme0n1p1 as /home/partimag/img_01_top/nvme0n1p1.XXX
2024-07-18 18:55:21 | INFO     | 192.168.100.163 clonezilla: Finished saving /dev/nvme0n1p1 as /home/partimag/img_01_top/nvme0n1p1.xfs-ptcl-img.gz by partclone
2024-07-18 18:55:23 | INFO     | 192.168.100.163 clonezilla: Starting saving /dev/almalinux/root as /home/partimag/img_01_top/almalinux-root.XXX
2024-07-18 18:56:23 | INFO     | 192.168.100.163 clonezilla: Finished saving /dev/almalinux/root as /home/partimag/img_01_top/almalinux-root.xfs-ptcl-img.gz by partclone
2024-07-18 18:56:23 | INFO     | 192.168.100.163 clonezilla: Image img_01_top saved successfully
2024-07-18 18:56:23 | INFO     | 192.168.100.163 clonezilla: End of savedisk job for image img_01_top
2024-07-18 18:56:32 | INFO     | 192.168.100.163 clonezilla: Finish restore or backup, reboot pc ↑↑↑
2024-07-18 18:56:33 | INFO     | 192.168.100.163 clonezilla: Ending /usr/sbin/ocs-sr at 2024-07-18 10:56:32 UTC

还原日志

2024-07-18 19:24:40 | INFO     | 192.168.100.161 ipxe: Downloaded "menu.ipxe"
2024-07-18 19:24:40 | INFO     | 192.168.100.161 ipxe: Executing "menu.ipxe"
2024-07-18 19:25:03 | INFO     | 192.168.100.161 ipxe: Downloaded "vmlinuz"
2024-07-18 19:25:04 | INFO     | 192.168.100.161 ipxe: Downloaded "initrd.img"
2024-07-18 19:25:04 | INFO     | 192.168.100.161 ipxe: Executing "vmlinuz"
2024-07-18 19:25:34 | INFO     | 192.168.100.164 clonezilla: Mounting samba, will mount //192.168.100.100/images to /home/partimag by image
2024-07-18 19:25:34 | INFO     | 192.168.100.164 clonezilla: Mount type cifs, size 146.9G, used 5%, avail 139.1G
2024-07-18 19:25:35 | INFO     | 192.168.100.164 clonezilla: Mount success, /home/partimag already 3 images
2024-07-18 19:25:41 | INFO     | 192.168.100.164 clonezilla: Start execute clonezilla restore image script ↓↓↓
2024-07-18 19:25:42 | INFO     | 192.168.100.164 clonezilla: Select disk order: nvme ssd(100G) -> sata ssd(100G) -> sata hdd(400G)
2024-07-18 19:25:47 | INFO     | 192.168.100.164 clonezilla: List disks nvme0n1(type ssd, model VMware Virtual NVMe Disk, size 172G)
2024-07-18 19:25:48 | INFO     | 192.168.100.164 clonezilla: Select disk is nvme0n1
2024-07-18 19:25:48 | INFO     | 192.168.100.164 clonezilla: Backup image name is (from server, it may be empty)
2024-07-18 19:25:55 | INFO     | 192.168.100.164 clonezilla: Start restore image img_01_top to disk nvme0n1
2024-07-18 19:26:03 | INFO     | 192.168.100.164 clonezilla: Starting /usr/sbin/ocs-sr at 2024-07-18 11:26:03 UTC
2024-07-18 19:26:19 | INFO     | 192.168.100.164 clonezilla: Starting restoring image img_01_top to /dev/nvme0n1p1 by partclone
2024-07-18 19:26:26 | INFO     | 192.168.100.164 clonezilla: Finished restoring image img_01_top to /dev/nvme0n1p1
2024-07-18 19:26:33 | INFO     | 192.168.100.164 clonezilla: Starting restoring image img_01_top to /dev/almalinux/root by partclone
2024-07-18 19:26:59 | INFO     | 192.168.100.164 clonezilla: Finished restoring image img_01_top to /dev/almalinux/root
2024-07-18 19:27:22 | INFO     | 192.168.100.164 clonezilla: End of restoredisk job for image img_01_top
2024-07-18 19:27:27 | INFO     | 192.168.100.164 clonezilla: Finish restore or backup, reboot pc ↑↑↑

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3248922.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

配置和保护SSH

使用SSH访问远程命令行 描述Secure Shell SSH(Secure Shell) 是一种网络协议,用于在不安全的网络上安全地进行系统管理和数据传输。它最初由 Tatu Ylnen 于1995年设计,并成为保护网络服务免受攻击的标准。SSH提供了多种功能&…

正则表达式(Ⅳ)——零宽断言

介绍 以……为开头/以……为结尾 正向表示匹配白名单 先行表示需要写在想要筛选的表达式之后 负向表示匹配黑名单 后行表示需要写在想要筛选的表达式之前 正向先行断言 这段比较复杂,我们拆开来看 \d(?PM) \d表示匹配数字,而且是匹配单个数字 表示…

【C++】C++ 职工信息管理系统(源码)【独一无二】

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…

EXCEL的自定义功能

一、Excel文件获取 OFFICE中导入文本文件,CSV(分隔符通常是逗号)和TXT(分隔符通常是Tab键,可以用记事本打开查看分隔符)进入单元格,数据——获取外部数据——自文本。 WPS中数据——获取数据——…

Java学习高级四

JDK8开始,接口新增了三种形式的方法 接口的多继承 内部类 成员内部类 静态内部类 局部内部类 匿名内部类 import javax.swing.*; import java.awt.event.ActionEvent;public class Test {public static void main(String[] args) {// 扩展 内部类在开发中的真实使用…

408一战130+|暑假四门课复习经验+资料分享

刚好我有点发言权 408想要考高分,其实很简单,学会抓住主要矛盾! 是吗是主要矛盾,大家都知道,408学科四门课,分别是数据结构,计算机组成原理,操作系统,计算机网络。那么4…

Python进阶(4)--正则表达式

正则表达式 在Python中,正则表达式(Regular Expression,简称Regex)是一种强大的文本处理工具,它允许你使用一种特殊的语法来匹配、查找、替换字符串中的文本。 在这之前,还记得之前我们是通过什么方法分割…

【Python实战因果推断】42_合成控制2

目录 Matrix Representation Synthetic Control as Horizontal Regression Matrix Representation 在上文中,我向大家展示了一个用矩阵表示面板数据的图像,其中一个维度是时间段,另一个维度表示单位。合成控制明确使用了该矩阵,…

SciPy,一个超级强大的 Python 库

大家好!我是爱摸鱼的小鸿,关注我,收看每期的编程干货。 一个简单的库,也许能够开启我们的智慧之门, 一个普通的方法,也许能在危急时刻挽救我们于水深火热, 一个新颖的思维方式,也许能…

React 从入门到实战 一一开发环境基础搭建(小白篇)

React 从入门到实战一一开发环境基础搭建(小白篇) React 介绍什么是 react ?react 主要功能react 框架特点 开发工具渲染测试 React 介绍 最近两年,react 也愈来愈火热,想要在里面分一杯羹,那肯定逃不过 r…

访问控制系列

目录 一、基本概念 1.客体与主体 2.引用监控器与引用验证机制 3.安全策略与安全模型 4.安全内核 5.可信计算基 二、访问矩阵 三、访问控制策略 1.主体属性 2.客体属性 3.授权者组成 4.访问控制粒度 5.主体、客体状态 6.历史记录和上下文环境 7.数据内容 8.决策…

【QGroundControl二次开发】二.使用QT编译QGC(Windows)

【QGroundControl二次开发】一.开发环境准备(Windows) 二. 使用QT编译QGC(Windows) 2.1 打开QT Creator,选择打开项目,打开之前下载的QGC项目源码。 编译器选择Desktop Qt 6.6.3 MSVC2019 64bit。 点击运…

第四章:服务-让客户端发现pod并与之通信

本章内容包括: 创建服务资源,利用单个地址访问一组pod发现集群中的服务将服务公开给外部客户端从集群内部连接外部服务控制pod与服务关联排除服务故障 上一章学习了如何通过ReplicaSet以及类似的资源部署运行pod的事。尽管特定的pod可以独立的应对外部刺…

C++之类与对象(1)

目录 前言 1.类的定义 1.1类定义的格式 1.2访问限定符 1.3类域 1.3.1类定义一个作用域 1.3.2类成员在类的作用域中 1.3.3在类体外定义成员 2.实例化 2.1实例化概念 2.2对象大小 3.this指针 4.选择题补充练习 结束语 前言 Hello,友友们,好久…

使用Python Turtle绘制圣诞树和装饰

简介(❤ ω ❤) 在这篇文章中,我们将探索如何使用Python的Turtle模块来绘制一个充满节日气氛的圣诞树,以及一些可爱的装饰品。Turtle是一个受Logo语言启发的图形库,非常适合初学者学习编程和创建图形。 码农不是吗喽(大学生版&…

SpringBoot以及swagger的基本使用

1、SpringBoot是什么? 一种快速开发、启动Spring的框架、脚手架 遵循“约定优于配置”的思想,使得能够快速创建和配置Spring应用 2、SpringBoot的核心特性 自动配置,一些依赖、默认配置都预设好了,减少了配置量起步依赖&#x…

实现给Nginx的指定站点开启目录浏览功能

一、问题描述 需要实现在浏览器上可以浏览Nginx部署网站内容并下载一些常用的软件安装包、文件资料等内容;并且针对一些文件夹或内容需要进行认证后才能查看;有一些格式类型的文件也不能够访问查看。 二、问题分析 1、实现浏览器上可以浏览下载文件内容; 2、针对一些文件…

Android Studio 不再支持windows 7

Android Studio 一打开就报错: 无法找到入口 无法定位程序输入点 CreateAppContainerProfle 于动态链接库USERENV.dII 上。 截图如下: 经调查,是因为系统版本不兼容。 我目前的电脑环境:windows 7,但是现在的Android Studio要…

四六级词汇小程序的设计

管理员账户功能包括:系统首页,个人中心,用户管理,英语词汇管理,易错词管理,学习笔记管理,签到打卡管理,论坛管理 微信端账号功能包括:系统首页,英语词汇&…

【C++】认识C++(一)

前言 📚作者简介:爱编程的小马,是一名大厂后端c程序员。 📚本文收录于c系列,本专栏主要是分享我所了解的c知识,带领大家慢慢从了解c到认识c,持续更新! 📚本文主要内容&a…