linux&mysql&iptables&firewalld&tcpdump备份恢复&常用命令

目录

[使用 tar 命令进行备份和恢复](#使用 tar 命令进行备份和恢复)

备份

恢复

[使用 rsync 命令进行备份和恢复](#使用 rsync 命令进行备份和恢复)

备份

恢复

[使用 cp 命令进行简单的文件备份](#使用 cp 命令进行简单的文件备份)

备份

恢复

[使用 tar 和 cron 定期备份](#使用 tar 和 cron 定期备份)

[使用 cloud backup 工具(如 rclone)](#使用 cloud backup 工具(如 rclone))

备份到云存储

恢复从云存储

mysql备份恢复命令

[iptables 和 firewalld常用命令](#iptables 和 firewalld常用命令)

[iptables 常用命令](#iptables 常用命令)

[firewalld 常用命令](#firewalld 常用命令)

[tcpdump 常用抓包命令](#tcpdump 常用抓包命令)

备注:


使用 tar 命令进行备份和恢复

备份

tar -czvf backup.tar.gz /path/to/directory

  • -c:创建归档。
  • -z:压缩归档文件(使用 gzip)。
  • -v:显示详细的过程。
  • -f:指定归档文件的名称。
恢复

要恢复 tar 备份文件,可以使用 -x(提取)选项。

tar -xzvf backup.tar.gz -C /path/to/restore

  • -x:解包归档。
  • -z:使用 gzip 解压。
  • -v:显示详细过程。
  • -f:指定归档文件。
  • -C:指定恢复到的目录。

使用 rsync 命令进行备份和恢复

rsync 是一个快速、灵活的文件同步工具,适用于增量备份和大规模文件系统备份。

备份

将本地文件或目录备份到远程服务器:

rsync -avz /path/to/source/ user@remote:/path/to/destination/

  • -a:归档模式,保持符号链接、权限、时间戳等。
  • -v:显示详细过程。
  • -z:启用压缩。
恢复

将备份的文件从远程服务器恢复到本地:

rsync -avz user@remote:/path/to/backup/ /path/to/local/destination/

使用 cp 命令进行简单的文件备份

cp 命令可以用来复制文件和目录,适合进行简单的备份。

备份

复制文件或目录到备份位置:

cp -r /path/to/source /path/to/backup

  • -r:递归复制整个目录。
恢复

从备份位置恢复文件或目录:

cp -r /path/to/backup /path/to/destination

使用 tarcron 定期备份

如果需要定期自动备份,可以将 tar 命令与 cron(定时任务)结合使用。例如,设置一个每日备份任务:

crontab -e

然后在 cron 文件中添加以下行:

0 2 * * * tar -czvf /path/to/backup/backup_$(date +\%F).tar.gz /path/to/backup/source

这条命令会每天凌晨 2 点自动备份。

使用 cloud backup 工具(如 rclone)

对于需要将备份存储到云存储服务(如 Google Drive, AWS S3 等)的用户,可以使用 rclone 工具:

备份到云存储

rclone copy /path/to/source remote:/path/to/backup

  • remote: 是指配置好的云存储远程地址。
恢复从云存储

rclone copy remote:/path/to/backup /path/to/destination

mysql备份恢复命令

操作 命令 说明
备份数据库 mysqldump -u <用户名> -p <数据库名> > <备份文件名>.sql 备份指定数据库的所有表结构和数据。
备份指定表 mysqldump -u <用户名> -p <数据库名> <表1> <表2> > <备份文件名>.sql 备份指定数据库中的指定表。
备份所有数据库 mysqldump -u <用户名> -p --all-databases > <备份文件名>.sql 备份 MySQL 中的所有数据库。
备份数据库结构(不备份数据) mysqldump -u <用户名> -p -d <数据库名> > <备份文件名>.sql 仅备份数据库的表结构,不包括数据。
备份指定表结构(不备份数据) mysqldump -u <用户名> -p -d <数据库名> <表1> <表2> > <备份文件名>.sql 仅备份指定表的表结构,不包括数据。
备份数据库并压缩 `mysqldump -u <用户名> -p <数据库名> gzip > <备份文件名>.sql.gz`
恢复数据库 mysql -u <用户名> -p < <备份文件名>.sql 恢复备份文件到指定数据库。
恢复指定数据库 mysql -u <用户名> -p <数据库名> < <备份文件名>.sql 恢复备份文件到指定的数据库(如果备份时未指定数据库,则直接恢复所有数据库)。
恢复数据库并替换现有数据 mysql -u <用户名> -p --force < <备份文件名>.sql 恢复备份文件时强制覆盖现有数据。
恢复数据到新数据库 mysql -u <用户名> -p -e "CREATE DATABASE <新数据库名>"<br> mysql -u <用户名> -p <新数据库名> < <备份文件名>.sql 首先创建一个新的数据库,然后恢复备份文件到该数据库中。
恢复表到新数据库 `mysqldump -u <用户名> -p <数据库名> <表名> mysql -u <用户名> -p <新数据库名>`

iptablesfirewalld常用命令

iptables 常用命令

操作 命令 说明
查看当前规则 sudo iptables -L 查看当前所有的防火墙规则。
查看规则及详细信息 sudo iptables -L -v 查看所有规则的详细信息,包括匹配的流量和字节数等。
查看规则及数字格式显示 sudo iptables -L -n 以数字格式(IP 和端口)显示当前规则。
添加规则(允许访问某端口) sudo iptables -A INPUT -p tcp --dport <端口号> -j ACCEPT 允许 TCP 端口 <端口号> 上的访问。
删除规则(删除某端口的访问规则) sudo iptables -D INPUT -p tcp --dport <端口号> -j ACCEPT 删除允许访问 <端口号> 的规则。
添加规则(拒绝某端口的访问) sudo iptables -A INPUT -p tcp --dport <端口号> -j REJECT 拒绝访问 TCP 端口 <端口号>
删除规则(拒绝某端口的访问) sudo iptables -D INPUT -p tcp --dport <端口号> -j REJECT 删除拒绝访问 <端口号> 的规则。
保存规则 sudo iptables-save > /etc/iptables/rules.v4 保存当前的 iptables 规则到指定文件中。
恢复规则 sudo iptables-restore < /etc/iptables/rules.v4 从指定文件恢复保存的 iptables 规则。
清除所有规则 sudo iptables -F 清除所有的 iptables 规则。
重置默认策略为接受 sudo iptables -P INPUT ACCEPT 设置 INPUT 链的默认策略为接受。
设置默认策略为拒绝 sudo iptables -P INPUT DROP 设置 INPUT 链的默认策略为丢弃(拒绝)。

firewalld 常用命令

操作 命令 说明
查看防火墙状态 sudo firewall-cmd --state 查看 firewalld 的当前状态(是否运行)。
查看当前活动区域 sudo firewall-cmd --get-active-zones 查看当前活动的防火墙区域。
查看所有区域的规则 sudo firewall-cmd --list-all 查看所有区域的防火墙规则。
查看特定区域的规则 sudo firewall-cmd --zone=<区域名称> --list-all 查看指定区域的防火墙规则。
允许端口访问 sudo firewall-cmd --zone=public --add-port=<端口号>/tcp 允许某个端口(如 <端口号>)在 public 区域的 TCP 协议下访问。
永久允许端口访问 sudo firewall-cmd --zone=public --add-port=<端口号>/tcp --permanent 永久允许某个端口(如 <端口号>)在 public 区域的 TCP 协议下访问。
删除端口访问规则 sudo firewall-cmd --zone=public --remove-port=<端口号>/tcp 删除某个端口(如 <端口号>)在 public 区域的访问规则。
永久删除端口访问规则 sudo firewall-cmd --zone=public --remove-port=<端口号>/tcp --permanent 永久删除某个端口(如 <端口号>)在 public 区域的访问规则。
重新载入防火墙配置 sudo firewall-cmd --reload 重新载入防火墙配置,使规则更改生效。
查看已启用的服务 sudo firewall-cmd --list-services 查看当前启用的服务。
添加服务到允许列表 sudo firewall-cmd --zone=public --add-service=<服务名> 允许某个服务(如 HTTP, HTTPS)在 public 区域。
永久添加服务到允许列表 sudo firewall-cmd --zone=public --add-service=<服务名> --permanent 永久允许某个服务(如 HTTP, HTTPS)在 public 区域。
删除服务从允许列表 sudo firewall-cmd --zone=public --remove-service=<服务名> 删除某个服务(如 HTTP, HTTPS)从 public 区域的允许列表中。
永久删除服务从允许列表 sudo firewall-cmd --zone=public --remove-service=<服务名> --permanent 永久删除某个服务(如 HTTP, HTTPS)从 public 区域的允许列表中。
设置默认区域 sudo firewall-cmd --set-default-zone=<区域名称> 设置默认的防火墙区域。
禁用防火墙 sudo systemctl stop firewalld 停止 firewalld 服务,禁用防火墙。
启用防火墙 sudo systemctl start firewalld 启动 firewalld 服务。

tcpdump 常用抓包命令

操作 命令 说明
查看所有网络接口 sudo tcpdump -D 列出系统中所有可用的网络接口。
指定接口进行抓包 sudo tcpdump -i <接口名> 在指定的接口(如 eth0, wlan0 等)上抓取数据包。
抓取指定端口的包(TCP端口) sudo tcpdump -i <接口名> tcp port <端口号> 抓取指定端口的 TCP 数据包(如 80 端口)。
抓取指定端口的包(UDP端口) sudo tcpdump -i <接口名> udp port <端口号> 抓取指定端口的 UDP 数据包(如 53 端口)。
抓取指定 IP 的数据包 sudo tcpdump -i <接口名> host <IP地址> 抓取指定 IP 地址(如 192.168.1.1)的所有数据包。
抓取源 IP 为指定地址的数据包 sudo tcpdump -i <接口名> src <IP地址> 抓取源 IP 地址为指定地址的所有数据包。
抓取目的 IP 为指定地址的数据包 sudo tcpdump -i <接口名> dst <IP地址> 抓取目的 IP 地址为指定地址的所有数据包。
抓取指定协议的数据包 sudo tcpdump -i <接口名> <协议> 抓取指定协议的所有数据包(如 tcp, udp, icmp 等)。
抓取指定大小的数据包 sudo tcpdump -i <接口名> less <字节数> 抓取小于指定字节数的包(如抓取小于 100 字节的数据包)。
抓取大于指定大小的数据包 sudo tcpdump -i <接口名> greater <字节数> 抓取大于指定字节数的包。
保存抓包数据到文件 sudo tcpdump -i <接口名> -w <文件名>.pcap 将抓取的数据包保存到指定文件(如 capture.pcap)。
从文件读取数据包 sudo tcpdump -r <文件名>.pcap 从指定的 .pcap 文件中读取并分析数据包。
限制抓取数据包的数量 sudo tcpdump -i <接口名> -c <数量> 限制抓取的数据包数量(如 10)。
抓取并显示详细信息 sudo tcpdump -i <接口名> -v 抓取并显示每个数据包的详细信息。
抓取并显示更详细信息 sudo tcpdump -i <接口名> -vv 抓取并显示每个数据包的更详细信息。
抓取并显示最详细信息 sudo tcpdump -i <接口名> -vvv 抓取并显示每个数据包的最详细信息。
只显示包头 sudo tcpdump -i <接口名> -X 只显示抓取包的内容和数据(以十六进制和 ASCII 格式显示)。
只显示包的头部信息 sudo tcpdump -i <接口名> -S 显示数据包的头部信息,通常用于 TCP 连接中的序列号和确认号。
抓取特定网络段的数据包 sudo tcpdump -i <接口名> net <网络段> 抓取特定网络段(如 192.168.1.0/24)的所有数据包。
抓取特定子网的数据包 sudo tcpdump -i <接口名> net <子网地址> mask <子网掩码> 抓取特定子网的数据包。
抓取ICMP请求和响应(Ping) sudo tcpdump -i <接口名> icmp 抓取 ICMP 请求和响应数据包,通常用于诊断网络连接(Ping)。
显示每个包的时间戳 sudo tcpdump -i <接口名> -tttt 在显示抓取包时,打印精确的时间戳。
抓取特定TCP标志的数据包 sudo tcpdump -i <接口名> 'tcp[tcpflags] == tcp-syn' 抓取 TCP SYN 包,用于建立连接。
抓取不包含某些数据包 sudo tcpdump -i <接口名> not <协议> 抓取不包含指定协议的数据包(如 not udp)。
抓取来自特定 IP 和端口的数据包 sudo tcpdump -i <接口名> src <源IP> and port <端口号> 抓取来自特定源 IP 和端口的数据包。
抓取包含特定字符串的包 sudo tcpdump -i <接口名> -A 'string' 抓取包含特定字符串的包,并以 ASCII 格式显示包内容。
抓取并以 CSV 格式保存数据包 sudo tcpdump -i <接口名> -tttt -n -v -w capture.pcap 捕获数据包并将其保存为 CSV 文件格式,进行详细分析。

备注

  • tcpdump 是一个强大的网络抓包工具,支持多种协议分析和灵活的过滤器设置。
  • 捕获数据时,如果目标是大量数据包,建议加上 -c 参数限制捕获数量,以防占用过多的系统资源。
  • 使用 -w 可以将抓包内容保存为文件,后续可用 -r 参数读取并进行分析。
  • 捕获大量网络数据时,可以加上 -n 参数避免 DNS 解析,提高性能。
相关推荐
jason.zeng@15022077 分钟前
centos中安装redis
linux·redis·centos
w236173460136 分钟前
Linux 服务器安全巡检与加固:从命令到实操(CentOS/Ubuntu 通用)
linux·服务器·安全·安全加固·安全巡检
xiaogg36781 小时前
阿里云k8s1.33部署yaml和dockerfile配置文件
java·linux·kubernetes
python百炼成钢1 小时前
3.Linux 网络相关
linux·运维·网络·stm32·单片机
Jtti1 小时前
香港硬防服务器防御DDOS攻击的优点
运维·服务器·ddos
yumgpkpm1 小时前
华为鲲鹏 Aarch64 环境下多 Oracle 、mysql数据库汇聚到Cloudera CDP7.3操作指南
大数据·数据库·mysql·华为·oracle·kafka·cloudera
程序员云帆哥2 小时前
MySQL JDBC Driver URL参数配置规范
数据库·mysql·jdbc
lpfasd1233 小时前
第2部分:Netty核心架构与原理解析
运维·服务器·架构
三三木木七4 小时前
mysql拒绝连接
数据库·mysql