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 解析,提高性能。
相关推荐
算法黑哥2 分钟前
服务器挖矿
运维·服务器
洪大宇27 分钟前
开发一套ERP 第八弹 RUst 插入数据
linux
想和我重名?39 分钟前
Linux下的wlan0控制
linux·嵌入式
LeonNo111 小时前
Linux:systemd进程管理【1】
linux·运维·服务器
꧁༺摩༒西༻꧂1 小时前
服务器命令行复制文件
运维·服务器
Holen&&Beer1 小时前
【Ubuntu】安装 Anaconda
linux·运维·ubuntu
小狗爱吃黄桃罐头1 小时前
Ubuntu-20.04安装 terminator
linux·运维·ubuntu
帅得不敢出门1 小时前
vim插件管理器vim-plug替代vim-bundle
linux·编辑器·vim
Mephisto.java1 小时前
【大数据学习 | Spark调优篇】常用的shuffle优化
大数据·mysql·oracle·spark·database
安智熙1 小时前
dns服务器
linux·运维·服务器