首页
Linux常用
docker常用
关于
Search
1
docker安装MDCX
244 阅读
2
麒麟KylinV10离线下载安装包及安装
173 阅读
3
iStoreOS上使用WireGuard
135 阅读
4
UNRAID增加和缩小虚拟机虚拟磁盘大小
52 阅读
5
麒麟v10系统openssh升级OpenSSH_10.0p2-OpenSSL 3.4.2
50 阅读
默认分类
docker
容器安装
Linux
数据库
群辉
软路由
unRAID
PVE
Nginx
wow
杂项
图床
飞牛
转载微信公众号文章
Docker学习
Linux学习
登录
Search
标签搜索
nginx
unraid
PVE
数据库
dockerfile
同步
wow服务器
装机硬件
宏
v2ray
直通
电视盒子
相册
黑裙7.0.1
远程穿透
定时
ssh
emby
symlink
软链接
奥黛丽·逐爱者
累计撰写
116
篇文章
累计收到
21
条评论
首页
栏目
默认分类
docker
容器安装
Linux
数据库
群辉
软路由
unRAID
PVE
Nginx
wow
杂项
图床
飞牛
转载微信公众号文章
Docker学习
Linux学习
页面
Linux常用
docker常用
关于
搜索到
116
篇与
奥黛丽·逐爱者
的结果
2025-08-05
Docker 安装 Oracle 11G
镜像docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/akaiot/oracle_11g:latestdocker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/akaiot/oracle_11g:latest docker.io/akaiot/oracle_11g:latest创建并启动容器mkdir -p /home/oracle/app/oracle11g/oradata# 容器内端口默认1521,且通过 -p 参数修改不成功,所以只能修改外部的端口docker run -itd --name oracle11g --restart=always -p 1523:1521 -v /home/oracle/app/oracle11g/oradata:/home/oracle/app/oracle11g/oradata docker.io/akaiot/oracle_11g:latest查看日志docker logs -f --tail 100 oracle11g/home/oracle/app/oracle/product/11.2.0/dbhome_2Processing Database instance "helowin": log file /home/oracle/app/oracle/product/11.2.0/dbhome_2/startup.logFixed Size 2213776 bytesVariable Size 402655344 bytesDatabase Buffers 1174405120 bytesRedo Buffers 24137728 bytesDatabase mounted.Database opened.SQL> Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing options/home/oracle/app/oracle/product/11.2.0/dbhome_2/bin/dbstart: Database instance "helowin" warm started.tail: unrecognized file system type 0x794c7630 for `/home/oracle/app/oracle/product/11.2.0/dbhome_2/startup.log'. Reverting to polling.登录到容器内docker exec -it oracle11g bash配置环境变量su rootPassword: helowinvi /etc/profileexport ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2export ORACLE_SID=helowinexport PATH=$ORACLE_HOME/bin:$PATHsource /etc/profilevi /home/oracle/.bashrcexport ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2export ORACLE_SID=helowinexport PATH=$ORACLE_HOME/bin:$PATHsource /home/oracle/.bashrc登录# 必须要切到 oracle 用户su oraclesqlplus / as sysdba查询数据库状态SELECT status FROM v$instance;STATUS------------OPEN连接验证• SID 和 Service Name 均为 helowin• 用密码密码: sys/oracle修改密码alter user system identified by test123;alter user sys identified by test123;异常记录ORA-00205: error in identifying control file, check alert log for more info异常原因:运行容器是指定的目录为 /home/oracle/app/oracle/oradata ,该目录是容器内安装Oracle自带的目录,换一个别的新建目录即可删除 Docker 容器docker stop oracle11gdocker rm oracle11g相关阅读• Docker 安装 Oracle 12C 🧐 分享、点赞、在看,给个3连击呗!👇
2025年08月05日
10 阅读
0 评论
0 点赞
2025-08-05
项目实践:使用Rsync和Crontab实现每天凌晨2点将远程服务器文件自动同步到本地服务器进行异地备份
本文将介绍如何通过rsync命令结合crontab定时任务,实现从远程SMB共享目录到本地目录的自动化文件同步。这种方案特别适合需要定期备份远程文件或保持两地文件一致性的场景。1.环境说明远程服务器:SMB共享目录位于/data/myshare/本地服务器:备份目录为/data/mybackup同步时间:每天凌晨2点SSH端口:假设远程服务器使用非标准SSH端口(如2222)2.实现步骤2.1创建同步脚本首先,我们需要创建一个bash脚本来自动执行同步任务。在本地服务器上创建/usr/local/bin/sync_backup.sh文件:#!/bin/bash# 远程服务器信息REMOTE_USER="username" # 替换为实际用户名REMOTE_HOST="remote.example.com" # 替换为实际主机名或IPSSH_PORT="2222" # 替换为实际SSH端口REMOTE_DIR="/data/myshare/" # 远程SMB共享目录LOCAL_DIR="/data/mybackup" # 本地备份目录# Rsync命令rsync -avz -e "ssh -p $SSH_PORT" --delete --progress $REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR $LOCAL_DIR# 记录同步日志echo "[$(date +'%Y-%m-%d %H:%M:%S')] Rsync completed from $REMOTE_HOST:$REMOTE_DIR to $LOCAL_DIR" >> /var/log/rsync_backup.log脚本说明:-avz:归档模式(a),显示详细输出(v),使用压缩传输(z)-e "ssh -p $SSH_PORT":指定非标准SSH端口--delete:删除本地目录中不存在于远程目录的文件--progress:显示传输进度最后一行将同步操作记录到日志文件中2.2设置脚本权限运行以下命令使脚本可执行:sudo chmod +x /usr/local/bin/sync_backup.sh2.3配置SSH免密登录为了避免每次同步都需要输入密码,可以设置SSH密钥认证:ssh-keygen -t rsassh-copy-id -i ~/.ssh/id_rsa.pub -p 2222 username@remote.example.com2.4创建crontab定时任务使用crontab -e命令编辑当前用户的crontab:0 2 * * * /usr/local/bin/sync_backup.sh这表示每天凌晨2点执行同步脚本。2.5验证配置可以手动运行脚本测试是否正常工作:/usr/local/bin/sync_backup.sh检查/var/log/rsync_backup.log查看同步结果。3.高级配置选项带宽限制:如果同步过程占用过多带宽,可以添加--bwlimit=KBPS参数限制传输速率。排除特定文件:使用--exclude参数排除不需要同步的文件或目录。邮件通知:可以在脚本中添加邮件发送功能,通知同步结果。错误处理:增强脚本的错误处理能力。修正后的脚本如下:#!/bin/bash# 远程服务器信息REMOTE_USER="username" # 替换为实际用户名REMOTE_HOST="remote.example.com" # 替换为实际主机名或IPSSH_PORT="2222" # 替换为实际SSH端口REMOTE_DIR="/data/myshare/" # 远程SMB共享目录LOCAL_DIR="/data/mybackup" # 本地备份目录# 执行rsync并捕获退出状态rsync -avz -e "ssh -p $SSH_PORT" --delete --progress $REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR $LOCAL_DIR# 检查rsync执行结果if [ $? -eq 0 ]; then echo "[$(date +'%Y-%m-%d %H:%M:%S')] Rsync completed successfully" >> /var/log/rsync_backup.logelse echo "[$(date +'%Y-%m-%d %H:%M:%S')] Rsync failed with error code $?" >> /var/log/rsync_backup.log # 可以在这里添加发送错误通知的代码fi4.总结通过结合rsync和crontab,我们建立了一个可靠、自动化的文件同步系统。这种方案具有以下优点:自动化运行:无需人工干预,定时自动执行高效同步:rsync只传输变化的文件部分,节省带宽和时间灵活性:支持非标准SSH端口和各种同步选项可追溯性:日志记录每次同步操作此方案适用于各种文件备份和同步场景,特别是需要定期将远程文件同步到本地的备份需求。
2025年08月05日
18 阅读
0 评论
0 点赞
2025-08-05
1panel面板设置
1、设置域名绑定可在 SSH 终端输入以下命令来取消域名绑定:1pctl reset domain2、开启了安全入口登录可在 SSH 终端输入以下命令来查看面板入口:1pctl user-info
2025年08月05日
16 阅读
0 评论
0 点赞
2025-07-24
Linux指南(十三):磁盘
磁盘是什么01磁盘是计算机中用于长期存储数据的硬件设备,属于外存的一种,其存储的数据在断电后不会丢失。常见的磁盘类型包括机械硬盘(HDD,通过磁头读写磁性盘片存储数据)、固态硬盘(SSD,基于闪存芯片存储数据,速度更快)、U盘、移动硬盘等。在Linux系统中,磁盘被抽象为设备文件(如/dev/sda、/dev/nvme0n1),系统通过这些文件与磁盘交互,实现数据的读写和管理。磁盘常见操作02磁盘操作围绕“让磁盘可被系统使用”和“管理存储资源”展开,核心流程包括:识别磁盘:确认系统中存在的磁盘设备,了解其容量、类型等信息。分区:将物理磁盘划分为多个独立的逻辑区域(分区),便于数据分类管理(如区分系统文件和用户数据),避免数据混乱。格式化:对分区进行处理,使其支持特定的文件系统(如ext4、XFS),文件系统是管理文件存储结构的规则,决定了数据如何组织和访问。挂载:将格式化后的分区关联到Linux目录树的某个目录(挂载点),使系统能通过该目录访问分区内的文件。查看与维护:监控磁盘使用情况(如剩余空间、文件占用),检查并修复磁盘错误,确保存储稳定。磁盘常见命令03识别磁盘设备:lsblk:列出系统中所有磁盘及分区的信息,包括设备名称、大小、挂载点等,直观展示磁盘与分区的关系。fdisk -l:显示磁盘的详细信息,包括磁盘大小、分区表类型(MBR/GPT)、分区数量及每个分区的大小、类型等。分区操作:fdisk [设备名]:用于MBR分区表的磁盘分区(支持容量较小的磁盘),可创建、删除、调整分区,需进入交互模式操作(如fdisk /dev/sda)。parted [设备名]:支持GPT分区表(适用于大容量磁盘),可处理超过2TB的磁盘,支持分区大小动态调整(如parted /dev/sdb)。格式化分区:mkfs.xxx [分区名]:将分区格式化为指定文件系统,xxx为文件系统类型,如mkfs.ext4 /dev/sda1(格式化为ext4)、mkfs.xfs /dev/sdb1(格式化为XFS)。挂载与卸载:mount [分区名] [挂载点]:将分区挂载到指定目录,如mount /dev/sda1 /mnt/data。umount [挂载点/分区名]:卸载已挂载的分区,如umount /mnt/data或umount /dev/sda1。mount -a:根据/etc/fstab文件中的配置,自动挂载所有未挂载的分区(常用于系统启动时自动挂载)。查看磁盘使用情况:df -h:以人类可读的单位(如GB、MB)显示所有挂载点的磁盘空间使用情况,包括总容量、已用、可用空间及使用率。du -sh [目录/文件]:查看指定目录或文件的磁盘占用大小,-s表示汇总结果,-h为人类可读单位(如du -sh /home)。磁盘检查与修复:fsck [分区名]:检查并修复文件系统错误,需在分区未挂载时使用,如fsck.ext4 /dev/sda1(针对ext4文件系统)。badblocks [分区名]:检测分区中的坏块(无法正常存储数据的区域),如badblocks -v /dev/sda1(-v显示详细过程)。推荐:宝藏网站推荐:一个系统学习编程的网站Linux指南(一):Linux内核与Linux系统Linux指南(二):Linux命令行与图形用户界面Linux指南(七):目录介绍、目录的特性与功能、常见目录Linux指南(九):用户目录、主目录Linux指南(十):文件、一切皆文件Linux命令(四):系统管理命令介绍
2025年07月24日
2 阅读
0 评论
0 点赞
2025-07-24
Linux指南(十五):磁盘挂载与卸载
在Linux系统中,磁盘的挂载(Mount)与卸载(Umount)是管理存储设备的核心操作。挂载是将物理或虚拟磁盘(如硬盘分区、U盘、光盘等)与文件系统中的某个目录(挂载点)关联起来,使系统能够访问其中的内容;卸载则是解除这种关联,确保数据安全。挂载的基本概念01挂载点:Linux中所有存储设备都需挂载到一个目录下才能被访问,这个目录称为挂载点(通常是空目录)。例如,U盘可挂载到/mnt/usb,光盘可挂载到/media/cdrom。设备标识:存储设备在Linux中以文件形式存在于/dev目录下,常见标识如下:硬盘分区:如/dev/sda1(第一块SATA硬盘的第一个分区)、/dev/nvme0n1p1(NVMe硬盘的第一个分区)。U盘/移动硬盘:通常为/dev/sdb1、/dev/sdc1等(依插入顺序递增)。光盘:/dev/cdrom或/dev/sr0。挂载操作021. 基本语法mount [选项] 设备路径 挂载点目录2. 常用选项-t filesystem:指定文件系统类型(如ext4、xfs、ntfs、vfat等),通常可省略(系统会自动检测)。-o 选项:指定挂载参数,常见参数:ro:只读挂载(防止误修改)。rw:读写挂载(默认)。remount:重新挂载(用于修改已挂载设备的参数,如从只读改为读写)。uid=xxx/gid=xxx:挂载FAT32/NTFS等Windows文件系统时,指定用户/组权限(避免权限问题)。3. 示例挂载U盘(/dev/sdb1)到/mnt/usb(需先创建目录):先执行mkdir -p /mnt/usb创建挂载点,再执行mount /dev/sdb1 /mnt/usb(系统会自动检测文件系统)。挂载NTFS格式的移动硬盘(支持读写):需先安装ntfs-3g工具(如Ubuntu执行sudo apt install ntfs-3g),再执行mount -t ntfs-3g /dev/sdc1 /mnt/ntfs。重新挂载根目录为读写(救援模式下常用):执行mount -o remount,rw /。查看已挂载设备03使用以下命令查看系统中所有已挂载的设备及信息:mount:显示所有挂载信息(包含临时文件系统)。df -h:以人类可读的方式显示已挂载设备的空间使用情况。lsblk:列出所有块设备及其挂载点(直观展示磁盘分区结构)。卸载挂载04卸载的目的是确保数据写入完成,避免直接拔插导致数据丢失。1. 基本语法umount 设备路径 # 或 umount 挂载点目录2. 示例卸载/dev/sdb1(通过设备路径):执行umount /dev/sdb1。卸载/mnt/usb(通过挂载点):执行umount /mnt/usb。3. 常见问题:设备忙(device is busy)若卸载时提示“设备忙”,说明有程序正在访问该设备,解决方法:关闭所有访问该挂载点的程序或终端。使用fuser或lsof查找占用进程并终止:先执行fuser -m /mnt/usb查看占用/mnt/usb的进程ID,再执行kill -9 进程ID终止进程后再卸载。永久挂载05临时挂载在系统重启后会失效,若需永久挂载,需配置/etc/fstab文件(谨慎操作,错误配置可能导致系统无法启动)。1. /etc/fstab格式每行对应一个挂载配置,格式为:设备路径 挂载点 文件系统类型 挂载参数 备份标识(0=不备份) 自检顺序(0=不自检)2. 示例永久挂载/dev/sda5(ext4格式)到/data:执行echo "/dev/sda5 /data ext4 defaults 0 2" >> /etc/fstab。defaults:包含rw、suid、dev、exec、auto、nouser、async等默认参数。永久挂载NTFS移动硬盘(UUID方式,更稳定,设备标识可能随插入顺序变化):uid=1000/gid=1000:指定当前用户(通常UID=1000)拥有权限。先查询设备UUID:执行blkid /dev/sdc1(输出类似:/dev/sdc1: UUID="1234-ABCD" TYPE="ntfs")。添加到/etc/fstab:执行echo "UUID=1234-ABCD /mnt/ntfs ntfs-3g defaults,uid=1000,gid=1000 0 0" >> /etc/fstab。3. 验证配置添加后执行mount -a检查是否有错误(加载/etc/fstab中所有未挂载的设备,无报错则配置正确),避免重启后故障。推荐:Linux指南(一):Linux内核与Linux系统Linux指南(二):Linux命令行与图形用户界面Linux指南(七):目录介绍、目录的特性与功能、常见目录Linux指南(九):用户目录、主目录Linux指南(十):文件、一切皆文件Linux指南(十三):磁盘Linux命令(四):系统管理命令介绍
2025年07月24日
24 阅读
0 评论
0 点赞
1
2
3
4
...
24