首页
Linux常用
docker常用
关于
Search
1
docker安装MDCX
276 阅读
2
iStoreOS上使用WireGuard
213 阅读
3
麒麟KylinV10离线下载安装包及安装
210 阅读
4
麒麟v10系统openssh升级OpenSSH_10.0p2-OpenSSL 3.4.2
77 阅读
5
UNRAID增加和缩小虚拟机虚拟磁盘大小
64 阅读
默认分类
docker
容器安装
Linux
数据库
群辉
软路由
unRAID
PVE
Nginx
Tomcat
wow
杂项
图床
飞牛
转载微信公众号文章
Docker学习
Linux学习
硬件
登录
Search
标签搜索
nginx
数据库
unraid
PVE
麒麟
dockerfile
同步
wow服务器
装机硬件
宏
v2ray
直通
电视盒子
相册
黑裙7.0.1
远程穿透
定时
ssh
emby
symlink
奥黛丽·逐爱者
累计撰写
132
篇文章
累计收到
7
条评论
首页
栏目
默认分类
docker
容器安装
Linux
数据库
群辉
软路由
unRAID
PVE
Nginx
Tomcat
wow
杂项
图床
飞牛
转载微信公众号文章
Docker学习
Linux学习
硬件
页面
Linux常用
docker常用
关于
搜索到
132
篇与
奥黛丽·逐爱者
的结果
2025-12-12
Oracle限制 trace 日志文件大小和数量
{collapse}{collapse-item label="限制日志生成" open}lsnrctl set trc_level off # 立即生效 lsnrctl set trc_filelen 20 # 如必须开,单文件 20 MB lsnrctl set trc_fileno 5 # 循环最多 5 个文件结论lsnrctl set trc_level off 已足够,listener 端后续 0 增长。数据库端继续用前面给的进 SQL*Plussqlplus / as sysdba执行(立即生效,重启也保留)ALTER SYSTEM SET MAX_DUMP_FILE_SIZE='500M' SCOPE=BOTH;listener.log 是 文本格式的普通监听日志(不是 trace),只要监听还在接收连接,它就会持续追加,但增长速度远慢于 .trc 文件。想让它不膨胀,有两种做法:直接关闭监听日志(最干净,生产常用)lsnrctl set log_status off立即生效,重启监听也保持;listener.log 停止增长,Oracle 不再写任何连接记录。[oracle@7e2f7cace564 oradata]$ lsnrctl set log_status off LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 12-DEC-2025 18:29:15 Copyright (c) 1991, 2013, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))) LISTENER parameter "log_status" set to OFF The command completed successfully [oracle@7e2f7cace564 oradata]$ {/collapse-item}{collapse-item label="折叠标题二"} 折叠内容二{/collapse-item}{/collapse}
2025年12月12日
17 阅读
0 评论
0 点赞
2025-11-06
容器时区与宿主机不一致的经典问题
问题:宿主机时间是 中国标准时间 CST(UTC+8),而容器里默认是 UTC 时间Docker 容器默认使用 UTC 时区,除非你在镜像里或运行时显式指定了其他时区。有的镜像里连 /etc/localtime 这个文件都不存在,所以单纯挂载宿主机的 /etc/localtime 进去不会生效分析一条规则打天下:“只挂 zoneinfo 目录,统一用 TZ 变量指向文件,绝不碰 /etc/localtime” 所有镜像(Alpine、Debian、BusyBox、RedHat)都认 TZ 变量, BusyBox 也认“文件路径”形式的 TZ,因此无需再 ln、无需改 /etc,也无需打新镜像。解决方法1、只挂一条只读卷,把宿主机整个 zoneinfo 目录挂到容器同名路径:volumes: - /usr/share/zoneinfo:/usr/share/zoneinfo:ro2、环境变量:environment: - TZ=Asia/Shanghai验证脚本(修改实际容器名)for c in nginx tomcat9-jdk8 python-app; do echo === $c === docker exec $c date +'%F %T %Z' done
2025年11月06日
13 阅读
0 评论
0 点赞
2025-09-24
docker下日志切割和tomcat中文乱码和日志输出问题
{collapse}{collapse-item label="中文乱码问题" open}docker-compose.yml 中 tomcat 服务部分,添加以下环境变量:environment: - TZ=Asia/Shanghai - UMASK=0022 - LANG=C.UTF-8 - LC_ALL=C.UTF-8 - JAVA_OPTS=-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8确保 conf/logging.properties 中控制台处理器编码为 UTF-8:java.util.logging.ConsoleHandler.encoding = UTF-8{/collapse-item}{collapse-item label="日志输出和分割"}让 Tomcat 输出到 catalina.outdocker-compose.yml,在 tomcat 服务中加:command: > bash -c "mkdir -p /usr/local/tomcat/logs && catalina.sh run >> /usr/local/tomcat/logs/catalina.out 2>&1"日志分割Tomcat 默认不会分割 catalina.out它会一直追加写入,文件会越来越大,除非你手动处理。用 logrotate(宿主机处理)在宿主机创建配置文件:sudo nano /etc/logrotate.d/tomcat-catalina内容如下:(按实际路径) /opt/1panel/docker/compose/web/tomcat/logs/catalina.out { daily rotate 7 # compress ← 不压缩删掉或注释即可 missingok notifempty copytruncate } 然后手动测试一次:sudo logrotate -vf /etc/logrotate.d/tomcat-catalina可选:确认定时任务是否启用cat /etc/cron.daily/logrotate确保它存在且可执行:ls -l /etc/cron.daily/logrotate{lamp/}nginx新建配置文件sudo nano /etc/logrotate.d/nginx-docker填入以下内容(关键配置):注意实际路径 /data/vdb/docker/compose/web/nginx/logs/*.log { daily missingok rotate 7 compress delaycompress dateext notifempty sharedscripts postrotate docker kill nginx -s USR1 endscript }把下面两行删掉即可彻底关闭压缩:compress delaycompress测试配置文件语法sudo logrotate -d /etc/logrotate.d/nginx-docker手动执行一次(强制轮转)sudo logrotate -f /etc/logrotate.d/nginx-docker应该能看到类似:access.log(当前日志) access.log-20241105(昨天的日志) access.log-20241104.gz(前天的压缩日志){/collapse-item}{/collapse}
2025年09月24日
24 阅读
0 评论
0 点赞
2025-09-17
麒麟v10系统openssh升级OpenSSH_10.0p2-OpenSSL 3.4.2
查看版本[root@KylinV10 ~]# ssh -V OpenSSH_8.2p1, OpenSSL 1.1.1f 31 Mar 2020下载openssl 升级openssl#解压gz包 tar -zxvf openssl-3.4.1.tar.gz #进入到文件夹 cd openssl-3.4.2/ # 1. 回到源码目录 cd /root/openssl-3.4.2 # 2. 重新配置(共享库 + 安装前缀) make distclean ./config shared zlib -fPIC --prefix=/usr/local/openssl # 3. 编译 & 安装 make -j$(nproc) make install # 4. 确认库已生成 ~~错误ls -l /usr/local/openssl/lib/libcrypto.so.3~~ ls -l /usr/local/openssl/lib64/libcrypto.so.3 # 5. 注册到系统缓存 echo '/usr/local/openssl/lib64' > /etc/ld.so.conf.d/openssl-3.4.2.conf ldconfig ·························································· # 1. 修正路径 echo '/usr/local/openssl/lib64' > /etc/ld.so.conf.d/openssl-3.4.2.conf # 2. 刷新缓存 ldconfig # 3. 验证系统已识别 ldconfig -p | grep libcrypto.so.3 必须出现: libcrypto.so.3 (libc6,x86-64) => /usr/local/openssl/lib64/libcrypto.so.3 查看openssl版本openssl version然后再回到 openssh 目录:cd /root/openssh-10.0p1 make distclean export PATH="/usr/local/openssl/bin:$PATH" export PKG_CONFIG_PATH="/usr/local/openssl/lib64/pkgconfig" ./configure \ --prefix=/usr/local/openssh \ --sysconfdir=/etc/ssh \ --with-ssl-dir=/usr/local/openssl \ --with-zlib --with-pamconfigure 已经 顺利通过!下一步直接编译安装即可:make -j$(nproc) make install1.停用旧服务systemctl stop sshd systemctl disable sshhd systemctl daemon-reload删掉系统 unit(不管有没有)rm -f /usr/lib/systemd/system/ssh*.service建新版配置目录 & 最小配置mkdir -p /etc/ssh # 新版配置统一放这里 cp /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_config # 最小必改项(麒麟 V10 必须) sed -i 's/^#PermitRootLogin.*/PermitRootLogin yes/' /etc/ssh/sshd_config sed -i 's/^#PubkeyAuthentication.*/PubkeyAuthentication yes/' /etc/ssh/sshd_config sed -i 's/^#PasswordAuthentication.*/PasswordAuthentication yes/' /etc/ssh/sshd_config生成主机密钥(一次即可)/usr/local/openssh/bin/ssh-keygen -A写 systemd 单元(麒麟 V10 通用)cat >/etc/systemd/system/sshd.service <<'EOF' [Unit] Description=OpenSSH Server After=network.target [Service] Type=simple ExecStart=/usr/local/openssh/sbin/sshd -D -f /etc/ssh/sshd_config ExecReload=/bin/kill -HUP $MAINPID Restart=always RestartSec=42s [Install] WantedBy=multi-user.target EOF注册 & 启动systemctl daemon-reload systemctl enable --now sshd验证(另开终端)ssh -V # 客户端版本 ssh 127.0.0.1 # 本机再开一个会话,确认能登录可选:保留旧二进制当救命稻草mv /usr/sbin/sshd /usr/sbin/sshd.bak ln -s /usr/local/openssh/sbin/sshd /usr/sbin/sshd系统变量echo 'export PATH=/usr/local/openssh/bin:$PATH' >> /etc/profile source /etc/profile验证(另开终端)ssh -Vssh 127.0.0.1
2025年09月17日
77 阅读
0 评论
0 点赞
2025-08-30
双向文件同步最佳工具-unison
Unison 是一款 双向文件同步工具,支持跨平台(Linux/macOS/Windows),能智能合并两端的修改,解决冲突,适合多设备间的文件同步。以下是它的核心用法和高级技巧:一、核心特点1. 双向同步:自动检测源端和目的端的更改,合并冲突。2. 跨平台:支持 Windows、Linux、macOS。3. 增量同步:仅传输变化部分,节省带宽。4. 冲突处理:提供交互式解决选项。5. 支持 SSH/RSH:加密传输,适合远程同步。二、安装方法Linux (Debian/Ubuntu)sudo apt install unisonmacOS (Homebrew)brew install unison三、基础用法1. 本地目录同步unison /path/to/local1 /path/to/local2• 首次运行会提示确认同步方向,输入 y 确认。2. 远程同步(SSH)unison /local/dir ssh://user@remote//remote/dir• 注意远程路径格式:// 后接绝对路径(如 //home/user/data)。3. 自动接受默认操作(非交互模式)unison -auto /path1 /path2• -auto:自动处理无冲突的更改。4. 忽略特定文件/目录创建配置文件 ~/.unison/default.prf:# 忽略 .git 目录和临时文件ignore = Name .gitignore = Name *.tmp然后运行:unison -batch /path1 /path2• -batch:非交互模式,依赖配置文件规则。四、高级用法1. 定时同步(结合 cron)crontab -e添加以下内容(每天凌晨 3 点同步):0 3 * * * unison -batch /local/dir ssh://user@remote//remote/dir >> /var/log/unison.log 2>&12. 强制单向同步(覆盖目标)unison -force /source /target -confirmmerge=false -prefer /source• -prefer:指定优先保留的版本。3. 同步后执行命令# 在配置文件中添加postcmd = chmod -R 755 /target/dir4. 限制带宽(避免占用网络)unison -sshargs "-o Compression=no -l 1000" /local ssh://remote//remote• -l 1000:限制 SSH 带宽为 1000 KB/s。五、配置文件示例~/.unison/myconfig.prf:# 同步目录root = /home/user/docsroot = ssh://user@server//backup/docs# 忽略规则ignore = Name *.logignore = Path /tmp# 自动合并策略auto = truebatch = true# 冲突时保留较新文件prefer = newer运行指定配置:unison myconfig六、冲突处理• 同步时若两端文件均被修改,Unison 会提示:Conflict: file.txt was modified on both hosts可选操作:- `d`:差异对比(需配置 diff 工具)。- `l`:保留左侧版本。- `r`:保留右侧版本。- `m`:手动编辑合并。七、与 Rsync 对比工具同步方向冲突处理适用场景Unison双向交互式解决多设备频繁互相同步Rsync单向覆盖目标备份或镜像(如服务器同步)八、常见问题1. SSH 连接超时增加超时时间:unison -sshargs "-o ServerAliveInterval=30" /local ssh://remote//remote2. 权限问题同步后恢复权限:# 在配置文件中添加perms = 0o7553. 大文件同步中断使用 -retry 参数:unison -retry 5 /path1 /path2总结Unison 是 双向同步的最佳工具,尤其适合:• 多台电脑同步工作文档(如笔记本 + 台式机)。• 开发团队保持代码库一致。• 需要冲突解决的复杂同步场景。通过配置文件和命令行参数,可以灵活适应各种需求!--END--觉得不错,可以关注,点赞,转发,如果需要技术援助,可以联系我们,期待您的莅临
2025年08月30日
8 阅读
0 评论
0 点赞
1
...
3
4
5
...
27