centos怎么查看服务是否是开机启动

systemctl list-unit-files 检查服务启动状态,grep 过滤特定服务,systemctl 启用设置启动。

centos7 jar包开机启动 crontab 方式

上周我在CentOS7 服务器上设置了一个JAR包启动任务。
步骤如下:
1 .环境准备:
首先,确保 crontab 服务已安装并运行 yum install -y vixie-cron cronie。

启动crontab服务并将其设置为开机自动启动。
临时启动:systemctl start crond,开机自启动:systemctlenable crond,验证状态:systemctl status crond。

2 配置crontab启动任务:
编辑当前用户的crontab并运行crontab -e(推荐使用VIM编辑器)。

添加任务行,例如:@reboot cd /opt/myapp && java -jar app.jar > /tmp/myapp.log 2 >&1
@reboot表示开机时运行,cd /opt/myapp 切换到jar包所在目录,> /tmp/myapp.log 2 >&1 将日志输出到指定文件。

3 验证与调试:
重新启动系统以验证并执行重新启动。

使用 ps -ef | grep app.jar 查看jar包是否启动。
应该有一个Java进程。

要查看日志并定位问题,请使用cat /tmp/myapp.log。

注意事项:
如果需要root权限运行jar包,需要切换到root用户并运行crontab -e。

确保JDK环境变量在crontab中生效。
您可以将源添加到 /etc/profile 或在任务之前指定 JAVA_HOME。

2 02 3 年,朋友说这种方式适合开发和测试场景,生产环境推荐使用systemd。
这取决于你,这取决于你的具体需求。

linux开机启动项Linux系统中如何查看并设置开机启动项

上周,一位客户问我,他的CentOS 7 .3 服务器运行缓慢,并询问我是否可以关闭一些开机自动启动的服务。
我只是给他看,并整理了笔记给你看。

---
看CentOS7 启动项
记得去年在杭州一家金融公司的机房里,他们的服务器CPU一直炸。
然后我发现邮件服务 postfix 在后台疯狂地发送垃圾邮件。
检查时,我使用了这个命令:
bash systemctl 列表单元文件 | grep 已启用
此命令将列出当前设置为在启动时自动启动的所有服务。
如果您在启用列中看到“是”,则说明正在启动。
例如,在上次演示中,我看到 crond.service 已启用。
这是一个后台计划任务服务。

---
设置开机启动/不启动
想要启动特定的服务:
上次我正在帮助朋友调试Web环境。
他安装了 Nginx 但它没有自动启动,所以我使用了这个:
bash systemctl 启用 nginx.service
想要关闭特定服务:
最典型的服务是邮件服务postfix。
我在上次演示中将其关闭:
bash 先停止服务 systemctl stop postfix.service
检查状态以确认其已停止。
systemctl status postfix.service
最终设置为不启动 systemctl 禁用 postfix.service
注意顺序!请务必先停止它,然后在服务器使用一两天没有问题后将其禁用。
上次客户因为紧急,直接关闭了邮件服务。
结果第二天客户就投诉公司的邮件无法投递。

---
个人陷阱经历
2 02 3 年5 月我在上海一家电商公司的机房,他们在一台CentOS7 机器上安装了太多监控服务,系统卡得像屎一样。
我一一禁用了logwatch和sysstat,先保留审计和防火墙,然后重新启动机器。
CPU使用率瞬间下降3 0%。
当时我就觉得这些服务越多越好。

---
特别提醒
1 .先停后禁用:这是最重要的。
不要在生产环境中直接禁用它。
2 .保存核心服务:不要关闭防火墙、审计和crond。
3 .检查依赖关系:使用systemctl deplist [服务名称]查看服务依赖的内容。
例如,在禁用 mysqld 之前,请确保 mariadb 也将停止。
上次新来的运维人禁用了sshd……我立刻就跟他生气了,说不用远程登录怎么能运维系统。
因此,在处理重要服务之前,您必须三思而后行。

---
您在使用CentOS7 时,是否遇到过启动项出现问题的情况?我仍然想知道客户端是否应该稍后关闭 crond,因为服务器卡住了运行太多脚本。