笔记--linux命令(5 数据恢复、网络相关)

        ===========数据恢复=============
            ----extundelete(只支持 ext3 和 ext4 文件系统)
                1、查找被删除文件所在目录 id
                ls -id /xxx/xxx/        
                            
                2、查看被删除的上层目录 inode
                # extundelete 所在分区名称 --inode ID号
                extundelete /dev/sdb1 --inode 130619            
                            
                3、恢复数据、恢复指定目录下所有删除的数据
                # extundelete 数据所在分区名称 --restore-directory 恢复数据的目录
                extundelete /dev/sdb1 --restore-directory /xxx/xxx/xxx/
        
            ----xfsdump /xfsrestore(需要提前备份)------
                格式:
                    #备份整个分区
                    xfsdump -f 备份存放位置 需要备份的文件系统
                    #免交互备份
                    xfsdump -f 备份存放位置 需要备份的文件系统 -L 备份会话标签 -M 设备标签
                    #备份分区中的目录
                    xfsdump -f 备份存放位置 -s 需要备份的文件相对路径 文件系统 -L 备份会话标签 -M 设备标签
                    #查看备份消息
                    xfsdump -I
                    #备份消息存放位置
                    var/lib/xfsdump/inventory
                    #删除备份
                    rm -rf 备份存放位置
                增量备份:
                    #先进行全备份
                    xfsdump -f /opt/test-full /sdb1 -L test-full -M media0
                    #第一次增量备份
                    xfsdump -l 1 -f /opt/test-back1 /sdb1 -L test-full -M media0
                        -l level 备份等级
                    #再增量备份 则为 level 2 等级
                    xfsdump -l 2 -f /opt/test-back2 /sdb1 -L test-full -M media0
                数据恢复:
                    #全备份 分区恢复
                    xfsrestore -f 备份存放位置 恢复后数据地址
                    #全备份 目录恢复
                    xfsrestore -f 备份存放位置 [-s 恢复文件的相对路径] 恢复后数据地址
                    #增量备份 恢复
                    #先恢复完全备份
                    #恢复最后一次增量备份
                    xfsrestore -f /opt/test-full /sdb1/xfsrestore -f /opt/test-back1 /sdb1/xfsrestore -f /opt/test-back2 /sdb1/

        ===========网络相关===========
            --------curl命令------------
                -X, --request <command>
                -i, --include   HTTP-header
                -H, --header <header>
                -d, --data <data>
                -u user:pass #指定用户名和密码
                https:
                    curl -v https://172.17.1.1 --cacert ca.crt --cert ./client.crt --key client.key
                post指定header为json:
                    curl -H "Content-Type: application/json" -d '{"username":"zhangsan","type":0}' http://10.0.0.66:8000/queries.json
                    
            ----wget------
                Recursive download:
                    -r,  --recursive          specify recursive download.
                    -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).
                    -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.
                HTTPS (SSL/TLS) options:
                    --no-check-certificate   don't validate the server's certificate.
                添加超时:
                    wget -q -T90 --no-proxy http://blah:8888/file.zip
                取消wget代理:
                    --no-proxy (或--proxy=off )
                    或 /etc/wgetrc或~/.wgetrc删除代理设置
                需要账号密码:
                    wget ftp://10.0.0.66/xxx.war --user=ftp --password=password
                直接输出到屏幕:
                    wwget http://xxx.com -q -O -

            ----------tc网络损伤------
                添加:
                    tc q add dev eth1 root netem delay 340ms 50ms loss 5%  rate 2mbit
                修改:
                    tc q change dev eth0 root netem delay 340ms 50ms loss 5%  rate 2mbit
                    340ms时延,50ms抖动,5%丢包,带宽2m
                查询:tc q 或 tc qdisc 
                删除:tc qdisc del dev eth0 root

                root 为根,可以写上级id,tc q查看id
                netem 为网络模拟功能模块,tc可以控制其工作模式

            --ping
                ping -c 5 指定次数
                ping -c 2 -I 192.168.0.1 172.17.1.2
                    -I 从指定端口连接

        --nc
            #监听1234端口
            nc -lp 1234
            #发送消息 发送完退出
            nc -w 1 192.168.80.172 1234
            #发送消息不退出,ctrl+d退出
            nc 192.168.80.172 1234
            #发送文件
            nc -w 1 192.168.80.172 1234 <jenkins.log
            格式:
            nc [-46DdhklnrStUuvzC]  [-i interval]  [-p source_port] 
                -s source_ip_address]  [-T ToS]  [-w timeout]  [-X proxy_protocol] 
                [-x  proxy_address[:port]]  [hostname]   [port[s]] 
            参数说明:
             -4 强制使用ipv4 
             -6 强制使用ipv6 
             -D 允许socket通信返回debug信息 
                   -d 不允许从标准输入中读取 
             -h 显示nc帮助文档 
             -i interval  
                指定每行之间内容延时发送和接受,也可以使多个端口之间的连接延时 
             -k 当一个连接结束时,强制nc监听另一个连接。必须和-l一起使用 
             -l 用于监听传入的数据链接,不能与-p -z -s一起使用。-w 参数的超时也会被忽略 
             -n 不执行任何地址,主机名,端口或DNS查询 
             -p 指定nc使用的源端口,受权限限制且不能余-l一起使用 
             -r 指定nc使用的源端口和目的端口,不能使用系统原来就指定的那些端口 
             -S 允许在RFC 2385的TCP MD5签名选项 
             -s source_ip_address  
                指定用于发包的接口的IP地址,不能和-l一起使用 
             -T ToS 
                指定链接的IP服务类型(TOS) 
             -C 自动换行 
             -t 使nc能够与telnet交互 
             -U 使用UNIX域socket 
             -u 使用udp代替默认的tcp选项 
             -v 输出详细报告 
             -w timeout 
                 一个链接一段时间无操作,则自动断开,默认无超时 
             -X proxy_version 
                 指定nc使用代理时所采用的协议,可选的有socksv4,socks5以及https。默认socks5 
             -x proxy_address[:port] 
                 指定nc使用的代理地址和端口。默认设置:1080(SOCKS),3128(HTTPS) 
             -z 只监听不发送任何包

猜你喜欢

转载自blog.csdn.net/weixin_42573277/article/details/114007454