首页
Linux常用命令
docker常用命令
关于
Search
1
UNRAID增加和缩小虚拟机虚拟磁盘大小
22 阅读
2
docker安装MDCX
18 阅读
3
unraid添加iSCSI 发起程序
8 阅读
4
虚拟机OVA格式转换QCWO2&RAW
3 阅读
5
Ubuntu初始设置
3 阅读
默认分类
docker
容器安装
Linux
群辉
软路由
Unraid
PVE
Nginx
wow
杂项
图床
飞牛
登录
Search
标签搜索
nginx
unraid
PVE
wow服务器
装机硬件
宏
v2ray
直通
电视盒子
相册
黑裙7.0.1
远程穿透
定时
ssh
emby
symlink
软链接
Linux
sftp
防火墙
奥黛丽·逐爱者
累计撰写
69
篇文章
累计收到
8
条评论
首页
栏目
默认分类
docker
容器安装
Linux
群辉
软路由
Unraid
PVE
Nginx
wow
杂项
图床
飞牛
页面
Linux常用命令
docker常用命令
关于
搜索到
69
篇与
奥黛丽·逐爱者
的结果
2024-05-23
docker容器内修改内容的方法
docker内的文件为什么不能直接编辑通常是因为在默认情况下Docker容器启动后,容器内的文件系统是以只读方式挂载的。这是为了保证容器的可移植性和隔离性,防止容器内的更改影响到宿主机或其他容器,造成不必要的麻烦和困扰。(既是优点也是缺点)分享修改方法方法1:复制容器当前状态:容器已处于启动状态操作位置:在宿主机上操作将容器内的文件复制到外面来,修改后,再复制进去。(注:复制进去后重启容器,不然不生效,就尴尬)# 复制本地文件到容器(注:查看当前路径位置) docker cp 文件名 容器ID:/路径/test.txt #容器外操作 # 复制容器内指定的文件到本地当前位置 docker cp 容器ID:/路径/test.txt ./文件名 #容器外操作 方法2:挂载(推荐使用)容器当前状态:容器处于未启动状态操作位置:在宿主机上操作需要在运行之前就做好各种准备# 创建一个运行的nginx,为下步复制文件到本地做准备 #步骤1: docker run --name nginx-80 -p 80:80 -d nginx # 复制nginx的配置目录到本地 #步骤2: docker cp nginx-80:/etc/nginx/ /MyDockerData/nginx/conf/ Successfully copied 3.58kB to /MyDockerData/nginx/conf/cond.d # 复制nginx的日志到本地 #步骤3: docker cp nginx-80:/var/log/nginx /MyDockerData/nginx/log Successfully copied 2.56kB to /MyDockerData/nginx/log # 复制网站目录到本地 #步骤4: docker cp nginx:/usr/share/nginx/html /MyDockerData/nginx/html Successfully copied 1.54kB to /MyDockerData/nginx/html # 运行容器并挂载目录。格式:<-p 端口映射><-v 路径映射> 实例:docker run --name nginx -p 80:80 -v $HOME/本地路径:内部路径 -v $HOME/本地路径:内部路径 -d nginx #步骤5: docker run --name nginx-8888 \ -p 8888:80 \ -v /MyDockerData/nginx/html:/usr/share/nginx/html \ -v /MyDockerData/nginx/conf:/etc/nginx \ -v /MyDockerData/nginx/log:/var/log/nginx \ -d nginx 方法3:vim容器当前状态:容器处于运行状态,有网络操作位置:在容器中操作进入到容器内,安装编辑工具# ubuntu操作系统安装方式(要有网) apt install vim # centos系统安装方式(要有网) yum install vim 方法4:echo容器当前状态:容器处于运行状态,无网络操作位置:在容器中操作如果会使用linux三剑客,就会更便捷# 向文件中插入文字 echo "hello world" >> ceshi.txt # 替换文本中的字符串: sed 's/books/BOOKS/' ./test.php # 直接编辑文件 选项-i ,会匹配 file 文件中每一行的所有 book 替换为 books: sed -i 's/book/books/g' 文件名称
2024年05月23日
0 阅读
0 评论
0 点赞
2024-05-16
记Linux新增和挂载磁盘
User:Linux查看挂载盘Kimi:在Linux系统中,查看挂载的磁盘和分区信息可以通过多种命令实现。以下是一些常用的命令:df 命令:df 命令用于显示文件系统的磁盘空间使用情况。默认情况下,它只显示挂载点的磁盘使用百分比和已用/可用空间。df使用 -h 参数可以以人类可读的格式(例如,以 K、M、G 为单位)显示信息:df -hmount 命令:mount 命令不仅可以用于挂载文件系统,还可以列出当前挂载的信息。mount这将列出所有当前挂载的文件系统及其挂载点。lsblk 命令:lsblk 命令列出所有可用的块设备,包括它们的大小、分区、挂载点等信息。lsblk使用 -o 参数可以指定显示的字段,例如:lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINTfdisk 命令:fdisk 是一个磁盘分区表操作工具,也可以用来查看磁盘分区信息。sudo fdisk -l-l 参数列出所有磁盘的分区表,但请注意,这不会显示挂载点信息。findmnt 命令:findmnt 命令用于查找和列出已挂载的文件系统。findmnt它可以显示挂载点、源设备、文件系统类型等信息。/etc/fstab 文件:查看 /etc/fstab 文件可以了解系统启动时应该挂载的文件系统配置。cat /etc/fstab/proc/mounts 文件:这个文件包含了当前系统挂载的所有文件系统的信息。cat /proc/mounts请注意,这个文件的内容会随着系统的挂载和卸载操作实时更新。stat 命令:stat 命令可以显示关于文件或文件系统的信息。stat -f对于文件系统,-f 参数将显示文件系统的设备编号、类型、挂载点等。使用这些命令,您可以获得关于Linux系统中挂载磁盘和分区的详细信息。通常,df 和 mount 是最常用的查看磁盘挂载情况的命令。User:NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTvda 253:0 0 40G 0 disk└─vda1 253:1 0 40G 0 part /vdb 253:16 0 200G 0 diskKimi:您提供的输出来自于 lsblk 命令,它显示了系统中的块设备(通常是硬盘驱动器和分区)的列表。以下是输出中各项指标的解释:NAME:设备名称,如 vda、vda1 等。在虚拟化环境中,vda 通常表示第一个虚拟磁盘。MAJ:MIN:这是设备的主要(MAJ)和次要(MIN)号码。它们是用于在 Unix 和 Linux 系统中唯一标识设备的数字。RM:设备可移动的标记。0 表示设备不是可移动的,1 表示设备是可移动的。SIZE:设备的大小,这里显示为 40G 和 200G,表示 vda 磁盘的总容量为 40GB,而 vdb 磁盘的总容量为 200GB。RO:只读(Read Only)标记。0 表示设备是可读写的,1 表示设备是只读的。TYPE:设备类型,这里 disk 表示这是一个磁盘设备,而 part 表示这是一个分区。MOUNTPOINT:挂载点,显示了设备的挂载位置。/ 表示 vda1 分区已经挂载为根文件系统。从这个输出中,我们可以了解到:存在两个磁盘设备 vda 和 vdb。vda 磁盘的总容量为 40GB,并且它被分为一个分区 vda1,大小也是 40GB。vdb 磁盘的总容量为 200GB,目前没有显示分区信息。vda1 分区已经挂载到根目录 /,这意味着它被用作系统的根文件系统。这个输出没有显示 vdb 磁盘是否有分区或挂载点,如果 vdb 磁盘有分区并且已经挂载,您可以通过运行 lsblk 命令来查看这些信息。如果需要查看所有分区的挂载点,可以使用 df -h 命令。如果需要创建新的分区或挂载点,可以使用 fdisk、parted 或 mkfs 等工具来创建分区,然后使用 mount 命令来挂载分区。User:vdb如何挂给系统使用Kimi:要将 vdb 磁盘挂载给系统使用,您需要执行以下步骤:创建分区(如果需要):如果 vdb 磁盘还没有分区,您可以使用 fdisk 或 parted 命令来创建分区。例如,使用 fdisk 创建一个新分区:sudo fdisk /dev/vdb按照提示操作,创建新分区,写入更改并退出。格式化分区:创建分区后,您需要将其格式化为一个文件系统。例如,使用 mkfs 命令为分区创建一个 ext4 文件系统:sudo mkfs.ext4 /dev/vdb1请将 /dev/vdb1 替换为您的实际分区名称。创建挂载点:选择或创建一个目录,这将作为磁盘的挂载点。例如,创建一个新的目录 /mnt/vdb:sudo mkdir /mnt/vdb挂载分区:使用 mount 命令将分区挂载到您创建的目录:sudo mount /dev/vdb1 /mnt/vdb同样,请确保将 /dev/vdb1 替换为您的分区名称。自动挂载(可选):如果您希望在系统启动时自动挂载这个分区,您需要编辑 /etc/fstab 文件。首先,找到您的分区的 UUID:sudo blkid这将列出所有分区的 UUID。然后,将以下行添加到 /etc/fstab 文件中,将 <UUID> 替换为分区的实际 UUID:UUID=<UUID> /mnt/vdb ext4 defaults 0 2确保使用正确的文件系统类型(如 ext4、xfs 等)替换 ext4。测试挂载:您可以通过将文件复制到挂载点或在挂载点执行命令来测试挂载是否成功。卸载分区:当您完成操作后,不要忘记卸载分区:sudo umount /mnt/vdb请注意,您需要根据您的 Linux 发行版和文件系统选择合适的文件系统类型。另外,确保您对分区和挂载点有足够的了解,并且对命令行操作有一定的熟悉度。如果您不确定,请咨询有经验的系统管理员。User:Welcome to fdisk (util-linux 2.35.2).Changes will remain in memory only, until you decide to write them.Be careful before using the write command.Device does not contain a recognized partition table.Created a new DOS disklabel with disk identifier 0xedca3bc7.Command (m for help):Kimi:您看到的输出来自于 fdisk 工具,它用于管理磁盘分区。根据输出信息,fdisk 检测到 vdb 设备没有包含一个可识别的分区表,并已经为您创建了一个新的 DOS 磁盘标签(disklabel)。DOS 磁盘标签是一种分区表的类型,通常用于 MBR(主引导记录)分区方案。现在,您可以开始在 vdb 设备上创建新的分区。这里是一些基本的 fdisk 命令:n:创建一个新的分区。系统会询问您是要创建主分区(p)、扩展分区(e),还是逻辑分区(l)。对于大多数使用情况,选择创建主分区即可。p:打印分区表,显示现有分区的布局。d:删除一个分区。如果您需要删除已存在的分区,可以使用这个命令。t:更改分区的分区类型。这可以用来设置分区为特定的文件系统类型,如交换空间。w:将更改写入磁盘并退出。所有更改直到执行这个命令才会生效。q:不保存更改并退出 fdisk。如果您想要创建一个新的分区,可以按照以下步骤操作:输入 n 并按回车,选择分区类型(通常是 p 表示主分区)。fdisk 会询问您分区的类型。对于大多数用途,选择主分区即可。接下来,它会询问您分区的起始和结束位置。您可以接受默认值,或者手动输入分区的大小。创建分区后,输入 w 来写入更改并退出 fdisk。退出 fdisk 后,您需要格式化新分区。例如,如果分区是 vdb1,可以使用以下命令为其创建一个 ext4 文件系统:sudo mkfs.ext4 /dev/vdb1最后,您可以将新分区挂载到一个目录并开始使用它:sudo mount /dev/vdb1 /mnt/vdb请记得,创建和格式化分区将会删除分区上的所有数据。确保您已经备份了任何重要数据,或者确保磁盘上没有您需要保留的数据。User:Partition number (1-4, default 1):Kimi:当 fdisk 提示 Partition number (1-4, default 1): 时,它正在询问您想要创建或修改的分区编号。在MBR分区方案中,一个磁盘最多可以有四个主分区,或者三个主分区加一个扩展分区(扩展分区可以进一步分割为多个逻辑分区)。由于您之前收到了消息说 fdisk 已经为您的磁盘创建了一个新的 DOS 磁盘标签,这表明磁盘上还没有任何分区。因此,当提示分区编号时,您通常会输入 1,因为这是您将要创建的第一个分区。如果您只打算创建一个分区,或者您正在修改第一个分区,那么您可以:直接按回车键接受默认值 1。或者输入 1 然后按回车键。接下来,fdisk 会询问您关于分区大小和分区类型的问题。对于大多数情况,您可以接受提示时的默认建议,除非您有特定的分区大小或分区类型需求。以下是您可能遇到的后续提示:分区大小:您可以输入分区的大小,或者使用默认值。分区类型:对于 Linux 系统,通常是 p 表示主分区。分区的文件系统类型:在分区创建并格式化后,您可以选择如 ext4、xfs、ntfs 等文件系统。完成分区创建后,记得使用 w 命令将更改写入磁盘,然后退出 fdisk。之后,您可以格式化分区并将其挂载到文件系统中使用。请谨慎操作,因为对磁盘进行分区和格式化会清除磁盘上的所有数据。确保您已经备份了所有重要数据。User:First sector (2048-419430399, default 2048):Kimi:当 fdisk 命令提示 First sector (2048-419430399, default 2048): 时,它要求您指定新分区的第一个扇区的位置。这个选项允许您定义分区的起始位置,但在大多数情况下,您可以接受默认值。默认值 2048 是一个常见的起始扇区,因为它从磁盘的第一个有效数据扇区开始,跳过了引导扇区,这样可以避免与引导加载程序或MBR(主引导记录)发生冲突。在大多数情况下,接受默认值是一个好习惯,特别是如果您:不需要特定的分区大小或对齐要求。不需要为操作系统引导保留特定的扇区。如果您对分区的起始扇区有特定的需求,或者您正在尝试优化分区性能(例如,使用固态硬盘的特定扇区对齐),您可以输入一个不同的扇区号。要接受默认值,您可以:直接按回车键。或者输入 2048 然后按回车键。完成此步骤后,fdisk 将继续提示您指定分区的最后一个扇区,即分区的大小。您可以为分区指定一个大小,或者如果这是您在磁盘上创建的唯一分区,可以使用默认值让它占据所有剩余空间。请记得,在执行分区操作时,您应该小心谨慎,因为这些操作会清除磁盘上的所有数据。确保您已经备份了所有重要数据,或者确保磁盘上没有您需要保留的数据。User:Created a new partition 1 of type 'Linux' and of size 200 GiB.Command (m for help):Kimi:您已经成功创建了一个新的分区,类型为 'Linux',大小为 200 GiB。在 fdisk 提示 Command (m for help): 时,您现在有几个选择:完成分区并写入更改:如果您已经满意分区的设置,可以输入 w 来写入更改并退出 fdisk。这将把分区表写入磁盘,所有更改将生效。查看分区信息:输入 p 可以打印出当前分区表的概览,包括分区编号、起始扇区、大小和分区类型。继续创建更多分区:如果您想要在同一个磁盘上创建更多分区,可以继续输入 n 来创建新的分区。由于您已经创建了一个主分区,您可能需要创建扩展分区或逻辑分区,具体取决于您的需求。删除分区:如果新创建的分区是一个错误,或者您想要重新配置分区,可以使用 d 来删除分区,然后重新创建它。退出不保存:如果您不想保存对分区表的更改,可以输入 q 退出 fdisk 而不写入更改。获取帮助:输入 m 可以获取帮助信息,列出所有可用的 fdisk 命令。在写入分区表后,您需要格式化新分区并创建一个挂载点才能使用它。以下是完成分区后的步骤:格式化分区:退出 fdisk 后,确定分区的设备名称(通常是 /dev/vdb1,取决于磁盘和分区编号)。然后使用 mkfs 命令为分区创建一个文件系统:sudo mkfs.ext4 /dev/vdb1创建挂载点:创建一个目录来作为新分区的挂载点:sudo mkdir /mnt/mydisk挂载分区:使用 mount 命令将新分区挂载到您创建的目录:sudo mount /dev/vdb1 /mnt/mydisk自动挂载:为了让分区在系统启动时自动挂载,您需要编辑 /etc/fstab 文件,并添加一行配置,指定分区的 UUID、挂载点以及文件系统类型:UUID=<您的分区UUID> /mnt/mydisk ext4 defaults 0 2您可以使用 blkid 命令获取分区的 UUID。请记得,在执行分区和格式化操作时,您应该小心谨慎,因为这些操作会清除分区上的所有数据。确保您已经备份了所有重要数据。 {lamp/}
2024年05月16日
0 阅读
0 评论
0 点赞
2024-05-16
常用命令
{collapse}{collapse-item label="Nginx常用操作命令" open}# 查看 Nginx 版本 /usr/local/nginx/sbin/nginx -v # 检查配置文件 ngnix.conf 的正确性 /usr/local/nginx/sbin/nginx -t # 启动 Nginx 服务 /usr/local/nginx/sbin/nginx # 启动 Nginx 服务,-c 指定配置文件的路径 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf # 重新加载配置 /usr/local/nginx/sbin/nginx -s reload # 停止 Nginx 服务(快速关闭,不管有没有正在处理的请求) /usr/local/nginx/sbin/nginx -s stop # 安全退出 Nginx 服务(在退出前会完成已经接受的连接请求,比较优雅) /usr/local/nginx/sbin/nginx -s quit{/collapse-item}{collapse-item label="查看top前十"}ps aux --sort=-%mem | head{/collapse-item}{collapse-item label="查看tomcat/其它 进程"}ps -ef | grep tomcat{/collapse-item}{collapse-item label="杀死进程"}kill -9 进程号 #多的话全kill了 kill -9 `ps -ef|grep tomcat|grep -v grep|awk '{print $2}'`{/collapse-item}{/collapse}{lamp/}{timeline}{timeline-item color="#19be6b"}#设置开机自启动 systemctl enable tomcat.service #停止开机自启动 systemctl disable tomcat.service #启动Tomcat服务 systemctl start tomcat.service #查看服务当前状态 systemctl status tomcat.service #重新启动服务 systemctl restart tomcat.service #查看所有已启动的服务 systemctl list-units --type=service{/timeline-item}{timeline-item color="#19be6b"}{card-describe title="卡片描述"}#设置开机自启动 systemctl enable tomcat.service #停止开机自启动 systemctl disable tomcat.service #启动Tomcat服务 systemctl start tomcat.service #查看服务当前状态 systemctl status tomcat.service #重新启动服务 systemctl restart tomcat.service #查看所有已启动的服务 systemctl list-units --type=service{/card-describe}{/timeline-item}{timeline-item color="#19be6b"}标注{callout color="#f0ad4e"}#设置开机自启动 systemctl enable tomcat.service #停止开机自启动 systemctl disable tomcat.service #启动Tomcat服务 systemctl start tomcat.service #查看服务当前状态 systemctl status tomcat.service #重新启动服务 systemctl restart tomcat.service #查看所有已启动的服务 systemctl list-units --type=service{/callout}{/timeline}开始插入折叠面板{collapse}{collapse-item label="centos离线安装htop" open}{timeline}{timeline-item color="#19be6b"}{card-describe title="源码安装"} 1、下载 htop 源码包wget https://hisham.hm/htop/releases/2.2.0/htop-2.2.0.tar.gz2、解压源码包:tar -zxvf htop-2.2.0.tar.gz3、进入源码目录:cd htop-2.2.0/4、配置编译选项:./configure --prefix=/usr/local这里使用 --prefix 指定了安装目录,您也可以根据需要修改为其他路径。 5、编译源代码:make6、安装sudo make install{/card-describe}{card-describe title="RPM包安装"} #### 下载 htop 的 RPM 包: 您可以从 EPEL 存储库的官方网站或其他可信的软件源下载 htop 的 RPM 包。 #### 安装 RPM 包:sudo rpm -ivh htop-2.2.0-3.el7.x86_64.rpm请将 htop-2.2.0-3.el7.x86_64.rpm 替换为您下载的 RPM 包的实际文件名。{/card-describe}{/timeline-item}{timeline-item color="#19be6b"}{card-default label="默认卡片" width="100%"}12123{/card-default}{/timeline-item}{timeline-item color="#19be6b"} 正式上线{/timeline-item}{timeline-item color="#ed4014"} 删库跑路{/timeline-item}{/timeline}{/collapse-item}
2024年05月16日
0 阅读
0 评论
0 点赞
2024-05-15
Nginx日志切割
方式一logrotate配置分割logrotate简单介绍logrotate 是一个 Linux系统日志的管理工具。可以对单个日志文件或者某个目录下的文件按时间 / 大小进行切割,压缩操作;指定日志保存数量;还可以在切割之后运行自定义命令。下面命令可以查看是否安装了logrotate --version/etc/logrotate.conf 是主配置文件, /etc/logrotate.d 文件夹下面是自定义的配置文件新增切割nginx日志的配置文件在 /etc/logrotate.d 目录下新增nginx文件 nano nginx_log 写入下面内容(我的日志文件目录是/usr/local/nginx/logs/)/usr/local/nginx/logs/ /usr/local/nginx/logs/*.log { daily # 按天分割 rotate 30 create sharedscripts # 所有的文件切割之后只执行一次下面脚本,通知nginx重新打开新的日志文件进行后续写入 postrotate if [ -f /usr/local/nginx/logs/nginx.pid ]; then kill -USR1 `cat /usr/local/nginx/logs/nginx.pid` # 通过USER1信号通知nginx重新打开日志文件 fi endscript }如果报错则删掉注释这样就会每天定时分割日志了也可以手动执行命令测试一下能否正常分割日志logrotate -f /etc/logrotate.d/nginx修正配置文件后,您需要通知 logrotate 重新读取配置文件,或者重新启动 logrotate 服务。在大多数Linux系统中,您可以使用以下命令来重新启动 logrotate:sudo service logrotate restart或者,如果您使用的是基于systemd的系统,可以使用:sudo systemctl restart logrotate又或者logrotate是属于rsyslog里的其中一个服务重启的方法: CentOS6命令:service rsyslog restart CentOS7命令:systemctl restart rsyslog 另外,可以手动执行分隔命令进行测试【以nginx的为例】 logrotate -f /etc/logrotate.d/nginx确保您的 logrotate 配置文件格式正确,并且没有语法错误。您可以通过运行 logrotate -d /etc/logrotate.d/nginx_log 来测试配置文件,而不实际执行轮换,-d 参数可以输出 logrotate 执行时的调试信息。在修改配置文件并重新启动 logrotate 服务之后,错误应该不会再出现,日志文件将按照新的配置进行管理。{card-describe title="描述"}从您提供的输出信息来看,您使用了 logrotate -d /etc/logrotate.d/nginx_log 命令来以调试模式运行 logrotate,这个命令不会实际执行日志的轮换,而只是打印出它将会执行的操作。调试模式下的输出显示了以下信息:logrotate 正在读取配置文件 /etc/logrotate.d/nginx_log。logrotate 正在考虑轮换位于 /usr/local/nginx/logs/ 目录下的日志文件,具体是匹配 /usr/local/nginx/logs/*.log 的所有文件。对于每个日志文件,logrotate 检查是否满足轮换条件。在这个例子中,配置似乎是每天轮换一次日志(after 1 days (30 rotations)),意味着每天都会执行轮换。logrotate 检查了 access.log 和 error.log 文件,并且发现它们在 2024-05-15 08:30 已经被轮换过,因此它们不需要再次轮换,因为还没有到下一次轮换的时间(即还没有过去一整天)。由于没有日志文件满足轮换条件,logrotate 没有执行 postrotate 脚本。如果您希望 logrotate 实际执行轮换操作,而不是仅仅以调试模式运行,您应该使用 -v 参数(verbose,详细模式)来获取详细的输出,但不会更改实际的行为。例如:logrotate -v /etc/logrotate.d/nginx_log{/card-describe}方式二定时任务执行分割脚本创建一个sh文件,写入以下内容(个别内容根据自己nginx的情况修改)我这里的文件为 /usr/local/nginx/log_bak.sh#/bin/bash yesterday=$(date +%Y-%m-%d) #取得服务器当前时间 savepath_log=' /var/log/nginx_bak'#分割后的日志文件保存目录(注意结尾目录斜杠去掉) nglogs='/usr/local/nginx/logs' #nginx日志文件目录,具体根据实际地址替换(结尾目录斜杠去掉 以免与下面路径中的"/"重复) #判断分割日志保存目录是否存在不存在则创建 if [ ! -d ${savepath_log} ] # 注意 语句之间 空格不可省略,这是bash脚本 不是php脚本那样随和 then mkdir -p ${savepath_log} fi #通过mv命令将日志移动到分割后的日志目录里,然后发送kill -USR1信号给Nginx的主进程号,让Nginx重新生成一个新的日志文件。 mv ${nglogs}/access.log ${savepath_log}/access_${yesterday}.log #具体根据你的实际日志文件名路径 进行修改access.log名字 mv ${nglogs}/error.log ${savepath_log}/error_${yesterday}.log #具体根据实际日志文件名地址 修改error.log名字 mv ${nglogs}/host.access.log ${savepath_log}/host.access_${yesterday}.log kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid) #通知nginx重新生成新的日志添加定时任务crontab -e #后添加下面内容 59 23 * * * /usr/local/nginx/log_bak.sh(自己写的脚本的路径)这样每天的23点59就会将当天的日志进行备份,并生成新的日志文件继续记录访问日志方式三手动切割日志如果您更喜欢手动管理日志,或者没有使用 logrotate,您可以编写一个自定义的脚本来切割 NGINX 日志。这个脚本可以运行 gzip 来压缩旧的日志文件,然后创建一个新的日志文件。#!/bin/bash gzip /var/log/nginx/access.log gzip /var/log/nginx/error.log touch /var/log/nginx/access.log touch /var/log/nginx/error.log chown www-data:adm /var/log/nginx/access.log /var/log/nginx/error.log路径以实际为准。
2024年05月15日
0 阅读
0 评论
0 点赞
2024-05-14
tomcat日志切割
进入 tomcat bin目录下新建sh脚本[root@iZon201ihvpnoi2e3ftkphZ bin]# nano cut_log.sh填写:#!/bin/bash cd `dirname $0` DATE=`date +%Y-%m-%d` DATE30=`date -d '30 days ago' +%Y-%m-%d` cd /usr/local/tomcat/apache-tomcat-9.0.88/logs/ ls others >/dev/null 2>&1 if [ $? != 0 ];then mkdir others fi find . -type f -mtime +30 -exec rm -f {} \; cp catalina.out catalina.out.${DATE} echo "" > catalina.out给个权限 执行一下~chmod +x cut_log.sh看看日志,成功~设置定时任务crontab -e 50 23 * * * /usr/local/tomcat/apache-tomcat-9.0.88/bin/cut_log.sh #23点50分执行此脚本[root@iZon201ihvpnoi2e3ftkphZ bin]# crontab -l */5 * * * * /root/sync_sh/lssj.sh 55 23 * * * /usr/local/tomcat/apache-tomcat-9.0.88/bin/cut_log.sh [root@iZon201ihvpnoi2e3ftkphZ bin]#
2024年05月14日
0 阅读
0 评论
0 点赞
1
...
3
4
5
...
14