通过GIt备份Linux文件

我们使用 Linux 服务器时,有时候需要备份配置文件。传统的备份方法是复制文件,改名,并在文件结尾插入一些字符。但,如果我们使用 Git ,我们可以很轻松的管理配置文件的备份。

但是,如果我们使用 Git ,我们可以很轻松的管理配置文件的备份。在这篇文章中,我将会演示如何使用 Git 来实现备份以及管理备份。我测试所用的环境是 CentOS 7 和 RHEL 7。

一、安装 Git

[root@localhost ~]# yum install git

检查Git版本

[root@localhost ~]# git --version  
git version 1.8.3.1  
[root@localhost ~]#

设置初始参数

将如下命令中的用户名,邮件替换成你自己的。

[root@localhost network-scripts]# git config --global user.name "your_user_name"
[root@localhost network-scripts]# git config --global user.email "your_email"

二、现在初始化 Git 数据库

因为我准备备份网络配置文件,所以我只需要在网络配置文件的目录初始化Git数据库。

[root@localhost ~]# cd /etc/sysconfig/network-scripts  
[root@localhost network-scripts]# git init  
Initialized empty Git repository in /etc/sysconfig/network-scripts/.git/  
[root@localhost network-scripts]#

命令行输入 ls -a , 那么我们可以看到,“.git” 文件夹被创建了。

三、使用下面的命令进行备份

[root@localhost network-scripts]# git add ifcfg-enp0s3  
[root@localhost network-scripts]#  
[root@localhost network-scripts]# git commit ifcfg-enp0s3  
[master (root-commit) 1269758] Changes on 26 Oct 2015  
1 file changed, 16 insertions(+)  
create mode 100644 ifcfg-enp0s3  
[root@localhost network-scripts]#

当我们执行第二个命令的时候,它会要求你输入像 “Changes on 26 Oct 2015” 这样的备注,然后保存文件。

使用下面的命令查看 git 日志

[root@localhost network-scripts]# git log  
commit 1269758e5f5b2fa3e0ad1fe507abaf73b646a33d  
Author: Pradeep 
  
    Date: Mon Oct 26 00:03:08 2015 -0400   Changes on 26 Oct 2015   [root@localhost network-scripts]
   # 
  

注意:尝试在 “ifcfg-enp0s3” 文件中插入一些无用字符。

四、从 Git 数据库恢复网络配置文件

[root@localhost network-scripts]# git reset --hard 1269758e5f5b2fa3e0ad1fe507abaf73b646a33d  
HEAD is now at 1269758 Changes on 26 Oct 2015  
[root@localhost network-scripts]#

使用与上边相同的 git id,你安装的不同,git 的 id 也不同。

验证从 git 数据库恢复的文件是否正确。

原创文章,作者:晴川运维,如若转载,请注明出处:https://baike.qcidc.com/15414.html

(0)
晴川运维晴川运维
上一篇 2025年10月11日
下一篇 2025年10月11日

相关推荐

  • Mariadb中聚合函数和分组函数具体使用方法

    聚合函数能对集合中的一组数据进行计算,并返回单个计算结果,分组函数通过一定的规则将一个数据集划分为若干个小的区域,然后针对若干个小区域进行统计汇总,般用于对查询结果分组统计,常与聚…

    Linux系统 2025年6月13日
  • Linux lsblk命令实例

    lsblk命令用来查看block设备的信息.主要应用场景: 获取wwnid,获取块设备列表,获取块设备类型(ssd,hdd),获取块设备的size等信息。 系统环境 Centos7…

    Linux系统 2025年6月11日
  • CoreOS具体安装方法

    CoreOS是一个基于Linux 内核的轻量级操作系统,为了计算机集群的基础设施建设而生,专注于自动化,轻松部署,安全,可靠,规模化,CoreOS作为Docker生态圈中的重要一员…

    Linux系统 2025年10月27日
  • 汇编语言中指令和伪指令的区别

    指令是控制程序运行时的机器代码运作的,是CPU执行的依据,编程、编译、执行都是有效的。伪指令不直接控制运行时刻的机器,但是控制翻译程序如何生成机器指令代码. 指令语句 每一条指令语…

    Linux系统 2025年9月22日
  • 详解Redis主从技术

    Redis复制 在生产环境中,Redis通过持久化功能(RDB和AOF技术)保证了即使在服务器重启的情况下也不会损失(或少量损失)数据。但是由于数据是存储在一台服务器上的,如果这台…

    Linux系统 2025年6月20日
  • 简单讲解一下HBase工作原理

    1 HBase简介 HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建大规模结构化的存储集群。HBase的目标是存…

    Linux系统 2025年6月8日
  • Java随机数的坑你踩过吗

    随机数我们应该不陌生,业务中我们用它来生成验证码,或者对重复性要求不高的id,甚至我们还用它在年会上搞抽奖。今天我们来探讨一下这个东西。如果使用不当会引发一系列问题。 随机数我们应…

    Linux系统 2025年10月5日
  • lnav:Linux 下一个基于控制台的高级日志文件查看器

    服务器日志是一个由服务器创建并经常更新、用于抓取特定服务和应用的所有活动信息的日志文件。当你的应用或者服务出现问题时这个文件就会非常有用。从日志文件中你可以获取所有关于该问题的信息…

    Linux系统 2025年6月8日
  • Linux下安装并使用NMState网络管理器

    NMState 是一个网络管理器,允许你按照声明式方法配置主机。这意味着你通过一个北向的声明式 API 定义所需的配置状态,这个工具通过南向的提供者provider应用配置。 目前…

    Linux系统 2025年6月16日
  • Linux绝对路径和相对路径详解

    在 linux 中,简单的理解一个文件的路径,指的就是该文件存放的位置,例如,在《Linux文件系统的层次结构》中提到的 /home/cat 就表示的是 cat 文件所存放的位置。…

    Linux系统 2025年7月11日

发表回复

登录后才能评论