• mysqlbinlog.sh mysql binlog 日志查询
    netnr 2024-07-09 332
    # 根据时间范围查询
    # -vv 查看二进制日志
    # 保证 binlog.0000xx 包含日期
    
    mysqlbinlog -vv --start-datetime="2024-07-09 10:13:39" --stop-datetime="2024-07-09 10:13:40" /var/lib/mysql/mysql-bin.000024
    
    # 根据位置过滤
    mysqlbinlog --start-position=123 --stop-position=456 /var/lib/mysql/mysql-bin.000001
    
    # 二进制日志文件名称
  • install-clickhouse.sh 安装 ClickHouse
    netnr 2024-04-05 342
    # ref https://clickhouse.com/docs/en/install
    
    # docker 方式
    docker run --restart=always --name clickhouse \
      --ulimit nofile=262144:262144 \
      --volume=$PWD/data:/var/lib/clickhouse \
      -p 8123:8123 \
      -p 9000:9000 \
      -e CLICKHOUSE_USER=default \
      -e CLICKHOUSE_PASSWORD=123456 \
  • autorun.inf 制作U盘图标
    netnr 2024-03-13 309
    # 在 U盘 根目录新建 autorun.inf 文件并添加如下内容
    [autorun]
    icon=autorun.ico
    
    # 在根目录放置图标文件 autorun.ico
    # 配置完成后下次才开始生效
    
    # 设置系统级隐藏文件,避免误删
    attrib +H +S autorun.inf
    attrib +H +S autorun.ico
  • install-dm.sh 安装达梦数据
    netnr 2024-02-28 312
    # 方式一:Docker 安装
    # 下载 docker 包并载入
    docker load -i dm8_20230808_rev197096_x86_rh6_64_single.tar
    # 启动,默认账号密码 SYSDBA/SYSDBA001
    docker run -d -p 5236:5236 --name dm8 --privileged=true --restart=always \
    -e CASE_SENSITIVE=0 \
    -e UNICODE_FLAG=1 \
    -e LENGTH_IN_CHAR=1 \
    -e PAGE_SIZE=16 \
    -e LD_LIBRARY_PATH=/opt/dmdbms/bin \
  • mysql_general_log.sh MySQL 日志切割并存档
    netnr 2023-09-11 313
    #!/bin/bash
    
    # 日志文件路径、存档目录
    log_path="/package/mysqldata"
    archive_directory="/package/mysqldata/archive"
    
    mkdir -p ${archive_directory}
    # 移动日志文件到存档目录
    mv ${log_path}/general.log ${archive_directory}/general_$(date +%Y%m%d_%H%M%S).log
  • dpkg.sh 打包 deb
    netnr 2023-09-05 327
    # 结构
    pack_deb
    - DEBIAN # 打包配置文件夹
        - control # 必需,软件包的元数据信息,如名称、版本、作者、依赖关系等。
        - postinst # 安装后执行
        - postrm # 卸载后执行
    - opt/xops_server # 待打包软件目录,安装路径为 /opt/xops_server
    
    
    # 打包
  • nginx_log_slice.sh nginx 切割日志文件
    netnr 2023-03-24 327
    ## 创建一个 /home/root/nginx_log_slice.sh 文件,粘贴以下内容
    
    # 日志路径
    log_path=/package/log/
    # pid路径
    pid_path=/usr/local/nginx/logs/nginx.pid
    
    # 当天 yyyy-MM-dd
    today=$(date -d "now" +%Y%m%d)
  • ProxyChains.sh Linux 局部代理
    netnr 2023-03-01 330
    # 下载
    git clone https://github.com/rofl0r/proxychains-ng
    cd proxychains-ng
    # 安装 dnf install make gcc
    ./configure --prefix=/usr --sysconfdir=/etc
    make && make install && make install-config
    # 不安装运行
    ./proxychains4 -f src/proxychains.conf telnet google.com 80
    
    # 一键安装
  • download-pack.sh 利用服务器下载离线安装包
    netnr 2023-02-16 313
    # 以安装 openjdk-8-jre 为例
    apt search openjdk-8-jre # 搜索包
    # 仅下载,deb 包默认放到 /var/cache/apt/archives 目录内
    apt-get install -d -y openjdk-8-jre # 仅下载
    
    ls /var/cache/apt/archives # 查看目录
    
    # 打包目录
    cd /var/cache/apt && tar -zcvf openjdk-8-jre.tar.gz archives/
    # 拷贝包到需要安装的服务器, U盘或 scp -P 22 openjdk-8-jre.tar.gz remote_username@10.10.0.2:/remote_directory
  • linux-file.sh linux 文件相关命令
    netnr 2023-02-16 34
    ls # 查看文件列表
    ls -lh # 列表
    ls -lh --time-style=long-iso # 时间格式化 yyyy-mm-dd hh:mm:ss
    ls -lh --time-style '+%Y/%m/%d %H:%M:%S' # 自定义时间格式
    
    ls -lhS  # 由大到小排序
    ls -lhSr # 从小到大排序
    ls -lht  # 从新到旧
    ls -lhtr # 从旧到新
  • oracle-archivelog.sh Oracle 归档日志
    netnr 2023-02-16 50
    # 进入 oracle 用户
    su - oralce
    
    # 查看归档
    SQL> archive log list;
    # 查看归档路径及大小限制
    SQL> show parameter recover;
    # 看看归档日志(按百分比),超 90% 随时有宕机的危险
    SQL> select * from v$flash_recovery_area_usage;
    SQL> select * from v$recovery_file_dest;
  • netstat-nc-iftop.sh netstat nc iftop 网络工具
    netnr 2022-10-26 329
    yum install net-tools # 安装 netstat
    yum install nc.x86_64 # 安装 nc
    
    apt install netcat # 安装 nc
    
    # 查看占用端口
    netstat -tunlp
    
    # tcp6 包含 ipv4? ref: https://unix.stackexchange.com/questions/496137
    cat /proc/sys/net/ipv6/bindv6only
  • boot.sh 开机启动
    netnr 2022-09-23 42
    # Windows 配置注册表(regedit)路径,用户登录后执行
    # 当前用户
    # HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
    # 系统
    # HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
    # 右键 》新建 》字符串值 》输入 key 和启动程序路径带参数
    
    
    # crontab 启动
    @reboot sleep 30; /home/root/boot.sh
  • install-onlyoffice.sh 一键安装 ONLYOFFICE
    netnr 2022-05-31 347
    echo "### 安装 wget unzip"
    yum install wget unzip -y
    echo "### 移除旧的 oo"
    docker stop oo -t 0
    docker rm oo
    docker rmi onlyoffice/documentserver # 删除 oo 镜像
    rm -rf /home/onlyoffice/ # 清除目录
    echo "### 创建 oo 目录映射"
    mkdir -p /home/onlyoffice/logs && cd /home/onlyoffice/ && mkdir data lib db && pwd && ls # 创建目录
    docker info
  • backup_sqlserver.sh SQLServer 备份脚本 Linux
    netnr 2022-03-22 49
    # 配置参数(开始)===
    
    ymd=$(date +%Y%m%d)
    echo "日期:$ymd"
    echo
    keepday=5
    echo "保留最近天数:$keepday"
    echo
    dirsync="/package/autosync/sync"
    echo "同步目录:$dirsync"
  • git filter-branch.sh GitHub 泄露密钥,彻底删除历史记录
    netnr 2022-03-04 354
    git filter-branch --force --index-filter "git rm --cached --ignore-unmatch -r 要删除的文件" --prune-empty --tag-name-filter cat -- --all
    # 遍历所有 commit,删除文件,重写历史 commit,项目顶层执行
    
    git push origin --all --force # 强行远程推送
  • tcping Linux TCP ping
    netnr 2022-01-18 326
    apt-get install tcptraceroute -y # 依赖
    
    # 一键安装
    wget -O /usr/bin/tcping https://raw.githubusercontent.com/deajan/tcpping/master/tcpping && chmod 755 /usr/bin/tcping
    wget -O /usr/bin/tcping http://www.vdberg.org/~richard/tcpping && chmod 755 /usr/bin/tcping # 另一个源
    
    
    # help
    https://github.com/deajan/tcpping
  • file-split.sh 文件切割、合并
    netnr 2021-11-24 7
    split -l 100000 -d access.log part/access_ --verbose # 按行切割
    split -b 100m access.log -d part/access_ --verbose # 按字节大小切割
    
    cat part/access_* > access.log  # 合并
    cat part.mp4 >> main.mp4        # 追加 part.mp4 到 main.mp4 末尾
    bash -c "cat part.mp4 >> main.mp4" >> /dev/null # 静默执行
  • backup_mysql.sh MySQL 备份脚本
    netnr 2021-09-29 312
    # 配置参数(开始)===
    
    ymd=$(date +%Y%m%d)
    echo "日期:$ymd"
    echo
    keepday=5
    echo "保留最近天数:$keepday"
    echo
    dirsync="/package/autosync/sync"
    echo "同步目录:$dirsync"
  • backup_oracle.sh Oracle 备份脚本
    netnr 2021-09-29 335
    # 配置参数(开始)===
    
    ymd=$(date +%Y%m%d)
    echo "日期:$ymd"
    echo
    keepday=5
    echo "保留最近天数:$keepday"
    echo
    dirsync=/package/autosync/sync
    echo "同步目录:$dirsync"
  • git-clear-history.sh git 彻底清理历史,仅保留最新一份,慎重操作
    netnr 2021-08-28 338
    cat .git/config  # note <github-uri>
    rm -rf .git
    git init
    git branch -M main # 修改分支,可设置默认分支为 main:  git config --global init.defaultBranch main
    git add .
    git commit -m "Initial commit"
    git remote add origin git@github.com:netnr/proxy.git # 改成自己对应的仓库
    git push -u --force origin main
  • git-ssh.sh git clone ssh-key
    netnr 2021-08-15 339
    # 设置用户名、邮箱
    git config --global user.name "netnr"
    git config --global user.email "netnr@netnr.com"
    
    # 查看
    cd ~/.ssh && ls
    
    # 生成密钥(ED25519 更小更快更安全,需要 OpenSSH 6.5 以上,推荐),密钥均为 256 位
    ssh-keygen -t ed25519 -C "netnr"
  • openssl-ssl.sh OpenSSL 生成自签名 SSL 证书
    netnr 2021-08-10 328
    # 生成私钥,4 位以上的密码
    # genra	生成RSA私钥;-des3	des3算法;-out server.key 生成的私钥文件名;2048 私钥长度
    openssl genrsa -des3 -out server.pass.key 2048
    
    # 去除密码
    openssl rsa -in server.pass.key -out server.key
    
    # 生成 CSR (证书签名请求)
    # req 生成证书签名请求;-new 新生成;-key 私钥文件;-out 生成的CSR文件;-subj 生成CSR证书的参数
    openssl req -new -key server.key -out server.csr -subj "/C=CN/ST=Beijing/L=Beijing/O=dev/OU=dev/CN=dev.cn"
  • install-dotnet.sh dotnet 安装脚本
    netnr 2021-08-09 342
    # 脚本安装
    
    wget https://dot.net/v1/dotnet-install.ps1 # PowerShell (Windows)
    
    wget https://dot.net/v1/dotnet-install.sh # Bash (Linux/macOS)
    
    ./dotnet-install.sh # 默认安装 LTS
    ./dotnet-install.sh -c Current # 当前最新
    ./dotnet-install.sh -c 5.0 # 指定版本