本文搜集了linux中常见的备份工具及性能排查工具,讲解了其常见用法。

一、 linux常用的备份工具

在Linux系统中,有多种备份工具和恢复软件可供使用,它们各自提供不同的功能和特性以满足各种备份需求。以下是一些常用的备份工具及其详细操作说明:

1. rsync

rsync 是一个快速、通用的文件同步工具,广泛用于备份和镜像。

1.1 安装
sudo apt-get install rsync    # Debian/Ubuntu
sudo yum install rsync        # CentOS/RHEL
1.2 基本使用
# 备份文件到远程服务器
rsync -avz /path/to/source/ user@remote_host:/path/to/destination/

# 备份文件到本地目录
rsync -avz /path/to/source/ /path/to/destination/
1.3 常用选项
  • -a:归档模式,表示递归传输文件并保持文件属性。
  • -v:详细输出。
  • -z:压缩文件传输。
  • --delete:删除目标目录中源目录中没有的文件。

2. tar

tar 是一个用于创建归档文件的工具,通常与压缩工具(如gzip或bzip2)一起使用。

2.1 创建备份
# 创建压缩归档文件
tar -czvf backup.tar.gz /path/to/directory
2.2 恢复备份
# 解压归档文件
tar -xzvf backup.tar.gz -C /path/to/restore/
2.3 常用选项
  • -c:创建归档。
  • -x:解压归档。
  • -z:通过gzip压缩。
  • -v:详细输出。
  • -f:指定文件名。

3. dd

dd 是一个用于低级别数据拷贝和转换的工具,常用于备份磁盘和分区。

3.1 创建磁盘备份
# 备份整个磁盘
sudo dd if=/dev/sda of=/path/to/backup.img bs=4M

# 备份分区
sudo dd if=/dev/sda1 of=/path/to/backup.img bs=4M
3.2 恢复磁盘备份
# 恢复整个磁盘
sudo dd if=/path/to/backup.img of=/dev/sda bs=4M

# 恢复分区
sudo dd if=/path/to/backup.img of=/dev/sda1 bs=4M
3.3 常用选项
  • if:输入文件。
  • of:输出文件。
  • bs:块大小。

4. Bacula

Bacula 是一个复杂的企业级备份解决方案,支持多种备份介质和调度策略。

4.1 安装
sudo apt-get install bacula-server bacula-client  # Debian/Ubuntu
sudo yum install bacula-director bacula-storage bacula-console bacula-client  # CentOS/RHEL
4.2 配置
  • 配置文件位置:/etc/bacula
  • 主要配置文件包括:bacula-dir.confbacula-sd.confbacula-fd.conf
4.3 基本使用
# 启动Bacula Director
sudo systemctl start bacula-director

# 启动Bacula Storage Daemon
sudo systemctl start bacula-sd

# 启动Bacula File Daemon
sudo systemctl start bacula-fd

# 使用bconsole进入控制台
bconsole

5. Duplicity

Duplicity 是一个支持加密和增量备份的工具,适用于备份到远程和本地存储。

5.1 安装
sudo apt-get install duplicity    # Debian/Ubuntu
sudo yum install duplicity        # CentOS/RHEL
5.2 基本使用
# 完全备份到本地目录
duplicity /path/to/source file:///path/to/destination

# 完全备份到远程服务器
duplicity /path/to/source scp://user@remote_host//path/to/destination

# 恢复备份
duplicity restore file:///path/to/backup /path/to/restore
5.3 常用选项
  • --encrypt-key:指定加密密钥。
  • --sign-key:指定签名密钥。
  • --no-encryption:不加密备份。

6. Timeshift

Timeshift 是一个专注于系统快照的备份工具,类似于Windows的系统还原。

6.1 安装
sudo apt-get install timeshift    # Debian/Ubuntu
sudo yum install timeshift        # CentOS/RHEL
6.2 基本使用
# 创建快照
sudo timeshift --create --comments "My first snapshot"

# 列出快照
sudo timeshift --list

# 恢复快照
sudo timeshift --restore

总结

上述工具各自有其特点和适用场景:

  • rsync:适用于文件和目录的同步与备份,灵活且高效。
  • tar:适用于创建和恢复归档文件,简单而实用。
  • dd:适用于磁盘和分区的低级别备份,强大但需谨慎使用。
  • Bacula:适用于企业级备份,功能强大但配置复杂。
  • Duplicity:适用于加密和增量备份,适合远程备份。
  • Timeshift:适用于系统快照和恢复,简单易用。

选择合适的备份工具和策略,并定期进行备份和测试恢复,是保障数据安全的关键。

二、linux中常用性能排查工具

在Linux系统中,性能排查工具和命令行参数的熟练使用可以帮助快速定位和解决性能问题。以下是一些常用的性能排查工具及其常用参数和详细用法。

1. top

top 是一个实时显示系统总体性能信息的命令行工具。

用法
top
常用参数
  • -d <interval>:指定刷新间隔时间,默认是3秒。

    top -d 1  # 每1秒刷新一次
    
  • -p <pid>:仅显示指定PID的进程信息。

    top -p 1234  # 仅显示PID为1234的进程信息
    
  • -n <iterations>:指定更新的次数,达到次数后退出。

    top -n 5  # 更新5次后退出
    

2. htop

htoptop 的增强版,提供了更友好的用户界面和更多功能。

用法
htop
常用参数
  • -d <delay>:设置刷新延迟,单位是1/10秒。

    htop -d 20  # 每2秒刷新一次
    
  • -p <pid>:仅显示指定PID的进程信息。

    htop -p 1234  # 仅显示PID为1234的进程信息
    

3. vmstat

vmstat 提供系统的虚拟内存、进程、I/O块、CPU活动等信息。

用法
vmstat 2 5  # 每2秒输出一次,共输出5次
常用参数
  • -a:显示活动和非活动内存。

    vmstat -a
    
  • -s:显示内存相关的统计信息。

    vmstat -s
    

4. iostat

iostat 提供关于CPU和磁盘I/O统计信息的报告。

用法
iostat 2 5  # 每2秒输出一次,共输出5次
常用参数
  • -d:显示磁盘设备的I/O统计信息。

    iostat -d
    
  • -x:显示详细的I/O统计信息。

    iostat -x
    
  • -c:显示CPU使用统计信息。

    iostat -c
    

5. sar

sar 是一个系统活动报告工具,可以收集、报告和保存系统活动信息。

用法
sar -u 2 5  # 每2秒输出一次CPU使用情况,共输出5次
常用参数
  • -q:报告队列长度和负载均衡器状态。

    sar -q
    
  • -r:报告内存和交换空间使用情况。

    sar -r
    
  • -n <keyword>:报告网络统计信息,关键词如 DEV, EDEV, NFS, SOCK, ALL

    sar -n DEV
    

6. netstat

netstat 显示网络连接、路由表、接口统计等信息。

用法
netstat -tuln  # 显示所有监听的TCP和UDP端口
常用参数
  • -a:显示所有连接中的套接字。

    netstat -a
    
  • -p:显示使用某个连接的程序的PID和名称。

    netstat -p
    
  • -r:显示路由表信息。

    netstat -r
    

7. nload

nload 是一个实时显示网络流量的工具。

用法
nload
常用参数
  • -a <time>:设置显示带宽使用的平均值的时间间隔,单位为毫秒。

    nload -a 500
    
  • -i <device>:显示指定网络接口的流量。

    nload -i eth0
    

8. iftop

iftop 是一个实时显示网络接口带宽使用情况的工具。

用法
sudo iftop
常用参数
  • -i <interface>:指定要监控的网络接口。

    sudo iftop -i eth0
    
  • -B:以字节为单位显示带宽,而不是位。

    sudo iftop -B
    
  • -n:显示IP地址而不是主机名。

    sudo iftop -n
    

9. strace

strace 跟踪进程执行时的系统调用和信号。

用法
strace -p PID  # 跟踪进程PID
常用参数
  • -c:统计每种系统调用的次数和时间。

    strace -c -p PID
    
  • -e trace=<syscall>:仅跟踪指定的系统调用。

    strace -e trace=open,close -p PID
    
  • -o <file>:将输出写入指定文件。

    strace -o output.txt -p PID
    

10. perf

perf 是一个强大的性能分析工具,提供详细的系统和应用程序性能数据。

用法
perf stat -p PID  # 统计进程PID的性能数据
常用参数
  • stat:统计性能数据。

    perf stat -p PID
    
  • record:记录性能数据到文件。

    perf record -p PID
    
  • report:分析并报告记录的数据。

    perf report
    

11. dstat

dstat 是一个通用的系统资源统计工具,可以替代多个工具(如 vmstatiostatnetstat 等)。

用法
dstat
常用参数
  • -c:显示CPU统计信息。

    dstat -c
    
  • -d:显示磁盘统计信息。

    dstat -d
    
  • -n:显示网络统计信息。

    dstat -n
    

12. lsof

lsof 是一个列出当前系统打开文件的工具,可以用于诊断文件相关的性能问题。

用法
lsof
常用参数
  • -i:显示符合条件的网络文件。

    lsof -i
    
  • -u <username>:显示由指定用户打开的文件。

    lsof -u username
    
  • -p <pid>:显示由指定PID打开的文件。

    lsof -p PID
    

总结

这些工具提供了不同层次和方面的系统性能数据,从CPU和内存到磁盘I/O和网络流量。根据具体的性能问题选择合适的工具和参数,可以帮助系统管理员快速诊断和解决问题,确保系统的稳定性和高效运行。

完。

希望对您有用!关注锅总,可及时获得更多运维实用操作!

06-23 08:35