首页
Linux常用命令
docker常用命令
关于
Search
1
docker安装MDCX
110 阅读
2
UNRAID增加和缩小虚拟机虚拟磁盘大小
37 阅读
3
unraid添加iSCSI 发起程序
24 阅读
4
UNRAID无法安装访问APPS应用中心的问题
5 阅读
5
记Linux新增和挂载磁盘
4 阅读
默认分类
docker
容器安装
Linux
群辉
软路由
unRAID
PVE
Nginx
wow
杂项
图床
飞牛
登录
Search
标签搜索
nginx
unraid
PVE
wow服务器
装机硬件
宏
v2ray
直通
电视盒子
相册
黑裙7.0.1
远程穿透
定时
ssh
emby
symlink
软链接
Linux
sftp
防火墙
奥黛丽·逐爱者
累计撰写
71
篇文章
累计收到
10
条评论
首页
栏目
默认分类
docker
容器安装
Linux
群辉
软路由
unRAID
PVE
Nginx
wow
杂项
图床
飞牛
页面
Linux常用命令
docker常用命令
关于
搜索到
18
篇与
默认分类
的结果
2024-09-14
飞牛开机virtiofs挂载
此操作前提是虚拟机创建的时候建立了VirtIOFS模式比如挂载标签: clouddrive 我把它挂到飞牛的 /vol1/1000/mount 目录试了4种方法,1、使用rc.local。2、使用systemd服务。3、使用cron4、使用init.d脚本。反复了3回 将近15次,查日志反馈大意是挂载目录/vol1/1000/mount不存在。最后估计该系统重启过程中,系统的服务走在系统挂载磁盘前面。所以就有了以下的延迟操作,这4个里就crontab最简单。以后如果设置了开机执行某写挂盘服务,最好延迟启动。挂载的ssh命令是:mount -t virtiofs clouddrive /vol1/1000/mount卸载要卸载使用 virtiofs 挂载的文件系统,你可以使用 umount 命令。umount /vol1/1000/mount这将会卸载之前挂载到 /vol1/1000/mount 的 virtiofs 文件系统。如果文件系统正在使用中,可能需要添加 -l 选项来强制卸载:umount -l /vol1/1000/mount请确保在执行卸载操作前,没有进程正在使用该文件系统,否则可能会导致数据丢失或其他问题。开机启动方法也简单,分两个步骤一,是建立运行脚本我在root目录建立 qidongvirtiofs.sh脚本nano /root/qidongvirtiofs.sh填入以下内容后保存退出#!/bin/bash mount -t virtiofs clouddrive /vol1/1000/mount sysctl -p eexit 0赋予qidongvirtiofs.sh权限:chmod +x /root/qidongvirtiofs.sh二,是使用crontab添加一个定时任务。虽然cron通常用于定时任务,但你可以设置它在系统启动时运行脚本。编辑 crontab 文件:crontab -e添加一行来指定延迟时间并运行脚本:@reboot sleep 300 && /bin/bash /root/qidongvirtiofs.sh这里 300 是延迟的秒数,可以根据需要调整。保存并退出编辑器。重启系统来测试配置是否有效。
2024年09月14日
4 阅读
0 评论
0 点赞
2024-08-23
Windows下openssl转换pem为pfx证书给Tomcat使用
环境使用Windows server2008+nginx1.25.4+Tomcat9自动更新ssl工具较少,整整一年,win-acme工具总是失效。现使用lucky自动更新ssl证书,再映射到目录的功能结合openssl工具和脚本实现自动更新。一、使用lucky将证书映射到指定目录。 配置证书这一步省略了 配置好后映射到自己需要的目录二、使用脚本实现自动更新1.安装openssl 下载安装包 下载地址: openssl vps上还在使用好老的Windows2008,就下这个版本吧。 开始安装 下一步 下一步 不捐款就不勾了吧 安装完成后配置环境:控制面板-所有控制面板项-系统点击“高级系统设置”环境变量编辑Path路径老系统是这样,新一点的系统是添加地址。在变量值里面结尾加 ;结尾符号再补上我们刚才安装的路径 ;C:\Program Files\OpenSSL-Win64\bin 最后运行CMD 输入 openssl version 显示版本表示OK成功。2.使用bat批处理转换ssl证书确定lucky映射的路径和pfx格式证书要放的路径和密码123456。以泛域名_baidu.com为例@echo off SETLOCAL :: 证书和私钥所在的目录 set SSL_DIR=D:\app\nginx\ssl :: 定义证书、私钥和PKCS#12文件的名称 set CERTIFICATE_NAME=_.baidu.com.pem set PRIVATE_KEY_NAME=_.baidu.com.key set PKCS12_NAME=_.baidu.com.pfx :: 完整的证书和私钥路径 set CERTIFICATE_PATH=%SSL_DIR%\%CERTIFICATE_NAME% set PRIVATE_KEY_PATH=%SSL_DIR%\%PRIVATE_KEY_NAME% :: 指定PKCS#12文件的输出目录 set PKCS12_DIR=D:\app\Tomcat9\ssl set PKCS12_PATH=%PKCS12_DIR%\%PKCS12_NAME% :: 检查证书和私钥是否存在 IF NOT EXIST "%CERTIFICATE_PATH%" ( ECHO Certificate file not found: %CERTIFICATE_PATH% EXIT /B ) IF NOT EXIST "%PRIVATE_KEY_PATH%" ( ECHO Private key file not found: %PRIVATE_KEY_PATH% EXIT /B ) :: 确保输出目录存在,如果不存在则创建 IF NOT EXIST "%PKCS12_DIR%" ( ECHO Output directory does not exist: %PKCS12_DIR% MKDIR "%PKCS12_DIR%" ) :: 使用OpenSSL导出PKCS#12文件,并设置密码 :: 此处设置PKCS#12文件的密码为123456 openssl pkcs12 -export -out "%PKCS12_PATH%" -inkey "%PRIVATE_KEY_PATH%" -in "%CERTIFICATE_PATH%" -passout pass:123456 :: 脚本结束 ENDLOCAL
2024年08月23日
2 阅读
0 评论
0 点赞
2024-05-14
AB目录同步问题
需求:从A目录复制数据到B目录,记录复制过的文件并生成详细日志,以后再次执行该脚本就算B目录下的文件被清空,已同步过的文件也不会再次复制。直接使用bat命令——失败Linux使用rsync——没成功问了ChatGPT要使用这个Python脚本在Windows上从A目录复制数据到B目录,并记录已复制的文件以避免重复复制,请按以下步骤操作:步骤一:安装Python如果你还没有安装Python,请先从Python官方网站下载并安装Python。步骤二:创建脚本文件1、打开一个文本编辑器(如Notepad、Notepad++或VSCode)。 2、将以下脚本代码复制并粘贴到文本编辑器中。import os import shutil import hashlib # 定义本地目录A和目标目录B local_dir = r"C:\path\to\local\A" target_dir = r"C:\path\to\target\B" log_file = "synced_files.log" def calculate_file_hash(file_path): """计算文件的SHA-256哈希值""" sha256_hash = hashlib.sha256() with open(file_path, "rb") as f: for byte_block in iter(lambda: f.read(4096), b""): sha256_hash.update(byte_block) return sha256_hash.hexdigest() def load_synced_files(log_file): """加载已同步的文件列表""" if os.path.exists(log_file): with open(log_file, "r") as f: return set(line.strip() for line in f) return set() def log_synced_files(log_file, files): """记录已同步的文件列表""" with open(log_file, "a") as f: for file in files: f.write(f"{file}\n") def sync_files(local_dir, target_dir, log_file): """同步文件到目标目录,并记录已同步的文件""" # 加载已同步文件的列表 synced_files = load_synced_files(log_file) # 获取本地目录中所有文件 all_files = set() for root, _, files in os.walk(local_dir): for file in files: full_path = os.path.join(root, file) relative_path = os.path.relpath(full_path, local_dir) file_hash = calculate_file_hash(full_path) all_files.add((relative_path, file_hash)) # 需要同步的文件 files_to_sync = {file for file in all_files if file[1] not in synced_files} # 如果没有需要同步的文件,直接返回 if not files_to_sync: print("没有新的文件需要同步。") return # 同步文件 for relative_path, file_hash in files_to_sync: source_file = os.path.join(local_dir, relative_path) target_file = os.path.join(target_dir, relative_path) target_dir_path = os.path.dirname(target_file) # 创建目标目录(如果不存在) os.makedirs(target_dir_path, exist_ok=True) # 复制文件 shutil.copy2(source_file, target_file) # 记录同步的文件 log_synced_files(log_file, [file_hash]) print(f"同步完成:{len(files_to_sync)} 个文件。") if __name__ == "__main__": sync_files(local_dir, target_dir, log_file)3、将此文件保存为sync_files.py(文件扩展名为.py)。步骤三:编辑脚本文件打开sync_files.py,编辑以下变量以匹配你的目录路径:local_dir = r"C:\path\to\local\A" # 替换为你的本地A目录路径 target_dir = r"C:\path\to\target\B" # 替换为你的目标B目录路径 log_file = "synced_files.log" # 日志文件的路径和名称步骤四:运行脚本1、打开命令提示符(可以通过按下Win + R,然后输入cmd并按回车键来打开)。 2、导航到包含sync_files.py文件的目录。例如,如果文件在桌面上,可以使用以下命令:cd C:\Users\YourName\Desktop3、运行脚本:python sync_files.py 结果脚本将从本地A目录复制文件到目标B目录,并记录已复制的文件的哈希值到synced_files.log。下次运行脚本时,它将跳过已记录的文件,避免重复复制,即使B目录中的文件被清空。注意事项确保你有足够的权限读取源目录和写入目标目录。如果脚本没有正确运行,检查目录路径是否正确,以及日志文件synced_files.log是否存在并具有写入权限。
2024年05月14日
3 阅读
0 评论
0 点赞
2024-04-28
银河麒麟服务器操作系统 V10 SP1 防火墙(firewalld)指令
一、Kylin系统查看firewalld状态systemctl status firewalld(或者:systemctl status firewalld.service,或者:systemctl is-active firewalld)Active: inactive (dead) 显示不活动/关闭二、开启、重启、关闭firewalld服务1、开启:systemctl start firewalld查看状态systemctl status firewalldactive(running):表示防火墙已经开启。2、关闭:systemctl stop firewalld查看状态systemctl status firewalld3、重启:systemctl restart firewalld查看状态systemctl status firewalld查询、开放、关闭firewalld端口1、查询全部已开放的端口:firewall-cmd --list-all2、查询某个端口是否开放:firewall-cmd --query-port=[端口]/tcp #yes表示已经开放,no表示没有开放。 [root@iZon201ihvpnoi2e3ftkphZ ~]# firewall-cmd --query-port=22/tcp no3、开放端口:firewall-cmd --permanent --add-port=[端口]/tcp #succes表示开方端口成功如果开放已经开放的端口会报错如下图:防火墙临时放行端口:firewall-cmd --add-port=8080/tcp4、关闭端口:firewall-cmd --permanent --remove-port=[端口]/tcp #success表示关闭成功。 [root@iZon201ihvpnoi2e3ftkphZ ~]# firewall-cmd --permanent --remove-port=18880/tcp success5、刷新服务(开放、关闭端口操作后需要刷新才能生效):firewall-cmd --reload #success表示刷新成功。设置、取消开机启动(firewalld)1、开机启动防火墙firewalld:systemctl enable firewalld2、开机关闭防火墙firewalld:systemctl disable firewalld3、查询是否开机启动firewalld:systemctl is-enabled firewalld #(enabled表示开机启动防火墙,disabled表示开机关闭防火墙)
2024年04月28日
1 阅读
0 评论
0 点赞
2024-04-26
docker安装mysql
{tabs}{tabs-pane label="mysql"}docker安装docker run -d -p 3306:3306 --privileged=true \ -v /mnt/user/appdata/mysql/log:/var/log/mysql \ -v /mnt/user/appdata/mysql/data:/var/lib/mysql \ -v /mnt/user/appdata/mysql/conf:/etc/mysql/conf.d \ -e MYSQL_ROOT_PASSWORD=root \ --name mysql \ library/mysql:5.7{collapse}{collapse-item label="好像有误" open}docker run -d --restart=always --name 此处写名字 --network cloud --ip 此处写IP -p 3306:3306 -v /此处写安装路径:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=此处写密码 -d mysql:latest{/collapse-item}{/collapse}登到数据库docker exec -it mysql mysql -u root -p执行Mysql老五条初始化命令create database 此处写数据库名字; CREATE USER 此处写数据库用户名 IDENTIFIED BY '此处写数据库密码'; grant all on 此处写数据库名字.* to '此处写数据库用户名'@'%'; ALTER USER 此处写数据库用户名 IDENTIFIED WITH mysql_native_password BY '此处写数据库密码'; FLUSH PRIVILEGES;{/tabs-pane}{/tabs}
2024年04月26日
0 阅读
0 评论
0 点赞
1
2
...
4