备份策略

备份考虑的因素

备份哪些文件;如 /etc/* 、/home/*

备份存储介质;如 光盘、硬盘

备份方式;如 完整备份、增量备份、差异备份

备份频率;如 每天备份、每周备份

备份工具;如 tar、dd、dump

推荐备份的目录

/etc、/home、/root、/var/spool/mail/、/var/spool/cron/、/var/spool/at/、/var/lib/

备份方式

三者区别可参考MySQL(五)-CSDN博客

完整备份

将整个系统或特定的数据集进行完全复制。

增量备份

在一次完整备份的基础上,只备份自上次备份以来发生变化的文件。

差异备份

备份自上次完整备份以来发生变化的文件以及所有新的文件和文件夹。

备份命令

dd

一个简单的命令行工具,用于复制文件或转换数据

dd if=/path/to/source/file of=/path/to/destination/file bs=block_size count=num_blocks

  • if:输入文件路径(source file)
  • of:输出文件路径(destination file)
  • bs:块大小(block size)
  • count:块数量(num_blocks)
将 /dev/sda 备份至 /dev/sdb
dd if=/dev/sda of=/dev/sdb

cpio

用于创建和提取存档文件的命令行工具

cpio 选项 归档文件

  • -o:以输出模式执行cpio,创建存档文件。
  • -i:以输入模式执行cpio,还原存档文件。
  • -c:使用旧ASCII备份格式。
  • -v:显示详细信息。
  • -B:将输入/输出的区块大小改成5210Bytes
将/etc下的所有普通文件都备份到/opt/etc.cpio中
find /etc -type f | cpio -ocvB >/opt/etc.cpio

将系统上所有资料备份到硬盘内
find / -print | cpio -covB > /dev/sda1

查看硬盘上的备份的文件
cpio -icdvt < /dev/sda1

将备份包还原到相应的位置,如果有相同文件就进行覆盖
cpio -icduv < /path/to/backup.cpio

xfsdump

一个用于备份文件系统的命令行工具,专门针对XFS文件系统

xfsdump [options] [backup_level] [备份后的文件] [要备份的文件]

  • -f:指定备份文件目录。
  • -L:指定标签 session label。
  • -M:指定设备标签 media label。
  • -s:备份单个文件,不能直接跟路径,只能用于文件。
备份/home/a.txt文件到/backup/backup.img文件中
xfsdump -f /backup/backup.img /home/a.txt

备份/home/user目录下的所有文件到/backup/目录,备份级别为0(完全备份)
xfsdump -f /backup/backup.img /home/user L0

tar

最初是用于将文件打包成磁带存档的工具。现在已成为一种常用的文件存档格式。

tar [options] [file]

  • -c:创建新的归档文件。
  • -r:将文件追加到归档文件的末尾。
  • -t:列出归档文件中的内容。
  • -u:更新文件,用新增的文件取代原备份文件。
  • -x:从归档文件中释放文件。
在当前目录创建一个名为"a.tar"的tar文件,内含/path目录中的所有文件和目录
tar -cvf a.tar /path

把/path/new_file文件追加到归档文件a.tar的末尾
tar -rvf a.tar /path/new_file

列出归档文件a.tar中的所有内容,包括文件和目录
tar -tvf a.tar

在归档文件a.tar中查找与/path/new_file相同的文件,并将其更新为新文件。如果找不到要更新的文件,则将其追加到归档文件的末尾。
tar -uxvf a.tar /path/new_file

rsync

一个用于远程文件同步的命令行工具

rsync [options]

  • -v:详细模式,显示更多的信息。
  • -r:递归复制,将源目录中的所有文件和子目录复制到目标目录中。
  • -a:归档模式,递归复制文件,并保留文件属性,如权限、时间戳等。
  • -z:压缩数据,可以减少网络传输的数据量。
  • -h:使用人类可读的输出格式,使得文件大小更易于阅读。
把/a目录下的所有文件和子目录复制到/backup/documents目录中
rsync /a /backup/documents

把/a目录下的所有文件和子目录复制到远程主机remote上的/backup/documents目录中
rsync -avz --delete /a user@remote:/backup/documents

把/a目录同步到远程主机remote上的/backup/documents目录中。
使用--delete选项可以删除目标目录中不在源目录中的文件
rsync -avz --delete /a user@remote:/backup/documents

你可能感兴趣的:(Linux基础,linux,运维)