首页
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常用命令
关于
搜索到
14
篇与
Linux
的结果
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 点赞
2024-05-09
Windows部署CwRsyncServer实现Linux下文件同步到WindowsServer服务器
场景描述需要将Linux服务器某个目录下的所有文件定期同步到WindowsServer2022服务器上在Windows Server 2022服务器上先安装部署cwRsyncServer1、下载CwRsyncServer V4.1.0 以管理员身份运行进行安装CwRsyncServer_V4.1.0_XiTongZhiJia.zip2、系统自动创建用户SvcCWRSYNC,无需修改用户名,修改好密码并记住,然后直接默认安装安装过程会给系统创建用户,让防护软件放行。3、呼出系统服务,属性-服务启动设置为自动-登入账号密码为刚刚安装时默认账号和修改的密码。我反复装了好几次,最后成功的一次是使用默认账号和修改的密码登入。所以觉得前几次的坑都是这里没有使用默认账号导致客户端连不上来。4、修改配置!!! C:\Program Files (x86)\ICW目录下修改rsyncd.confuid = 0 gid = 0 use chroot = false strict modes = false #这里↓如果只允许某一个机器访问的话,可以填写IP地址 hosts allow = * log file = rsyncd.log pid file = rsyncd.pid #端口↓默认是873 port = 873 #允许的最大连接数↓ max connections = 4 # Module definitions # Remember cygwin naming conventions : c:work becomes /cygwin/c/work # 模块↓ [backup] #路径↓这个是需要同步的文件位置,Windows目录的写法,应该按照POSIX风格来写, #默认配置文件的写法cygwin貌似不工作,而要写成cygdrive,如D:/data,要写成/cygdrive/d/data。 path = /cygdrive/c/ftp #只读或者读写↓read only = true 表示客户端只能下载服务端的文件而不能上传(单向同步).如果有上传需要,设置read only = false 即可. read only = false transfer logging = yes lock file = rsyncd.lock #下方↓secrets file密码文件中的用户名 auth users = cwrsync #密码文件存放的路径↓ secrets file = etc/cwrsync.passwd{card-describe title="配置详细描述"}这个 rsyncd.conf 文件是 rsync 守护进程的配置文件,用于定义 rsync 服务器的行为和模块。下面是对配置文件中各项设置的解析:uid = 0:这指定了 rsync 服务运行的用户的ID。在这里,0 是 root 用户的ID,意味着 rsync 服务将以 root 用户权限运行。gid = 0:这指定了 rsync 服务运行的组的ID。0 通常对应于 root 组。use chroot = false:这个设置禁用了 chroot 功能,chroot 是一种安全措施,可以将 rsync 进程限制在特定的目录结构中,防止它访问文件系统的其他部分。strict modes = false:这禁用了严格模式,允许 rsync 与具有不同权限的文件进行交互,而不会报错。hosts allow = *:这允许任何客户端连接到 rsync 服务器。在生产环境中,出于安全考虑,通常会指定特定的IP地址或IP范围。log file = rsyncd.log:这指定了 rsync 服务的日志文件名。pid file = rsyncd.pid:这指定了 rsync 服务的进程ID文件名,用于记录 rsync 服务的进程ID。port = 873:这指定了 rsync 服务监听的端口号,这里是 873。max connections = 4:这指定了 rsync 服务允许的最大连接数,这里是 4。接下来是模块定义部分:[backup]:这是模块的名称,客户端将使用这个名称来访问同步的内容。path = /cygdrive/c/ftp:这指定了模块的路径,即远程服务器上同步文件存放的目录。read only = false:这指定了模块不是只读的,客户端可以向该模块写入文件。transfer logging = yes:这指定了开启传输日志记录。lock file = rsyncd.lock:这指定了 rsync 服务使用的锁文件,用于同步过程中的并发控制。auth users = cwrsync:这指定了允许认证并使用该模块的用户列表,这里是 cwrsync 用户。secrets file = etc/cwrsync.passwd:这指定了包含用户认证信息的密码文件,这里是 /etc/cwrsync.passwd 文件。综上所述,这个配置文件定义了一个 rsync 服务器,允许用户 cwrsync 通过端口 873 访问 backup 模块,并且可以进行读写操作。服务器将记录所有传输活动到 rsyncd.log 文件,并且会使用 rsyncd.pid 文件记录进程ID。同时,服务器将使用 /etc/cwrsync.passwd 文件来验证连接的用户。{/card-describe}uid = 0 gid = 0 记得加上,解决@ERROR: invalid gid nobody报错问题5、在 C:\Program Files (x86)\ICW\etc 目录下创建cwrsync.passwd密码文件cwrsync:123456还要设置好权限6、添加cwRsyncServer 873端口的入站防火墙规则 放通入方向的873端口7、然后启动RsyncServer服务Linux端部署rsync客户端并测试Linux端的rsync部署就百度吧。一般默认都会带吧~同步命令:#linux>windows rsync --progress -avz --delete /home/ixjkj/sync* cwrsync@192.168.0.111::backup #windows>linux rsync --progress -avz --delete cwrsync@192.168.0.111::backup /home/ixjkj/sync*{card-describe title="同步命令详细描述"}这条 rsync 命令用于同步本地目录 /home/ixjkj/sync 下的文件到远程服务器上的 backup 模块。下面是命令的详细解析:rsync:是命令的名称,用于文件同步和传输。--progress:显示文件传输过程中的进度信息。-a(archive):归档模式,该选项通常用于备份,它会保留文件的权限、时间戳、软硬链接以及文件模式。-v(verbose):详细模式,增加输出的详细程度,可以显示处理的文件信息。-z(compress):压缩模式,在传输过程中压缩数据,以加快传输速度,节省带宽。--delete:在同步完成后,删除目标位置中本地不存在的文件,使得源和目标目录保持完全一致。/home/ixjkj/sync*:指定本地同步的文件或目录,星号(*)是一个通配符,匹配所有的文件和目录。cwrsync@192.168.0.111:指定远程服务器的用户名和地址。在这个例子中,用户名是 cwrsync,服务器的IP地址是 192.168.0.111。::backup:指定远程服务器上的模块名。rsync 支持模块化配置,backup 是在远程服务器的 rsync 配置文件中定义的一个模块。综上所述,该命令的作用是:从本地的 /home/ixjkj/sync 目录同步所有文件和子目录到远程服务器(192.168.0.111)上定义的 backup 模块。传输过程中显示进度,并且提供详细的输出。数据在传输时会被压缩。归档模式确保同步时保留原始文件的所有属性。同步后,远程服务器上 backup 模块中本地不存在的文件将被删除。在执行此命令之前,需要确保:远程服务器上已经配置了 rsync 服务,并且 backup 模块已经定义在 rsyncd.conf 文件中。本地用户具有访问远程服务器的权限,并且知道正确的用户名和密码或拥有相应的私钥进行认证。端口22(SSH默认端口)在服务器上是开放的,除非 rsync 服务配置了使用其他端口。注意:在实际使用中,根据具体环境和需求,可能需要对命令进行调整。{/card-describe}编写脚本,利用crontab实现定时同步1、新建和编辑一个cwrsync.sh文件nano /home/ixjkj/cwrsync.sh填入后保存#!/bin/bash rsync --progress -avz --delete cwrsync@192.168.0.111::backup /home/ixjkj/sync* >/dev/null 2>&1给执行权限chmod 755 /home/ixjkj/cwrsync.sh2、利用crontab实现定时同步crontab定义* * * * * - - - - - | | | | | | | | | +----- 星期中星期几 (0 - 6) (星期天 为0) | | | +---------- 月份 (1 - 12) | | +--------------- 一个月中的第几天 (1 - 31) | +-------------------- 小时 (0 - 23) +------------------------- 分钟 (0 - 59)crontab -e #例如每5钟同步一次 */5 * * * * /home/ixjkj/cwrsync.sh crontab -l查看服务端日志,5分钟一次linux中重启rsync服务使用root用户或具有sudo权限的用户登录到Linux系统。 打开终端或命令行界面。 停止rsync服务:sudo systemctl stop rsync.service 等待一段时间,确保rsync服务已停止。 启动rsync服务:sudo systemctl start rsync.service 检查rsync服务是否已经启动:sudo systemctl status rsync.service按参考 部署CwRsyncServer实现Linux下文件同步到WindowsServer服务器 rsync,从零开始Nas备份 {collapse}{collapse-item label="Linux客户端传到Windows服务端" open}rsync --progress -avz --delete --itemize-changes --log-file=/var/log/rsynclog/rsync.log --log-file-format='%t %f %b' /home/ixjkj/sync cwrsync@192.168.0.111::backup这条 rsync 命令用于将本地的 /home/ixjkj/sync 目录同步到远程服务器上的 backup 模块,并且包含了一些控制日志记录和同步行为的选项。下面是对命令中每个参数的解释:rsync:命令的名称,用于文件同步和传输。--progress:显示文件传输进度。-avz:-a:归档模式,递归地复制文件并保持大部分文件属性,如权限、时间戳、软硬链接等。-v:详细模式,提供更详细的输出。-z:压缩模式,在传输过程中压缩数据,以加快传输速度。--delete:在同步后删除远程 backup 模块中本地 /home/ixjkj/sync 目录不存在的文件。--itemize-changes:为所有更新显示变化摘要。--log-file=/var/log/rsynclog/rsync.log:将 rsync 的日志输出到指定的 /var/log/rsynclog/rsync.log 文件。--log-file-format='%t %f %b':为日志文件指定格式,其中 %t 表示时间戳,%f 表示文件名,%b 表示文件大小(以字节为单位)。/home/ixjkj/sync:本地的源目录,即该目录将被同步到远程的 backup 模块。cwrsync@192.168.0.111::backup:指定远程服务器的用户名 cwrsync,IP 地址 192.168.0.111,以及 rsync 守护进程上配置的模块名 backup。综上所述,该命令的作用是:将本地的 /home/ixjkj/sync 目录同步到远程服务器(192.168.0.111)上的 backup 模块。显示文件传输的进度。同步时保持文件的权限、时间戳和链接,并进行数据压缩。同步结束后,删除远程模块中本地不存在的文件。记录所有变化的详细摘要到日志文件。使用指定的格式将日志信息记录到 /var/log/rsynclog/rsync.log。在执行该命令之前,请确保:远程服务器的 rsync 服务已经配置了 backup 模块,并且正在运行。用户 cwrsync 有权限访问远程服务器上的 backup 模块。本地用户有权限读取 /home/ixjkj/sync 目录的内容,以及写入 /var/log/rsynclog/ 目录(如果该目录不存在,需要先创建它)。确保网络连接稳定,以避免因超时导致同步中断。注意:命令中的 --progress 选项在某些 rsync 版本中可能已被 --progress 替代,但两者在功能上是等效的。{/collapse-item}{/collapse}
2024年05月09日
0 阅读
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日
0 阅读
0 评论
0 点赞
1
2
3