当前位置: 首页 > news >正文

特效素材免费网站和一起做网店类似的网站

特效素材免费网站,和一起做网店类似的网站,衡阳网站建设专家,卖猕猴桃网站建设宣传策划书几种linux开机自启脚本的方法 1. 脚本添加到init.d目录中2. 创建服务service#xff08;推荐#xff09;3. /etc/profile /etc/profile.d#xff08;不推荐#xff09;4. /etc/rc.local 本文以启动jenkins节点为例#xff0c;需要持久连接#xff0c;实现开机自启 … 几种linux开机自启脚本的方法 1. 脚本添加到init.d目录中2. 创建服务service推荐3. /etc/profile /etc/profile.d不推荐4. /etc/rc.local 本文以启动jenkins节点为例需要持久连接实现开机自启 1. 脚本添加到init.d目录中 以runlevel 3为例 流程 1. 编写脚本并赋权为可执行 rootubuntu1:/etc/init.d# cat jenkins_agent.sh #!/bin/bash nohup /usr/bin/java -jar /usr/local/share/agent.jar -jnlpUrl http://192.168.5.54:8080/computer/70%2E140/jenkins-agent.jnlp -secret 67d842f7fc00f1627a1e9cf5a3901689dae8522a6fe8cc658bd0a0c73023fafb -workDir /usr/share/jenkins /dev/null rootubuntu1:/etc/init.d# chmod ax jenkins_agent.sh这里还是需要注意下首行#!/bin/bash指定shell运行是必须要写的否则会报错Failed at step EXEC spawning /etc/init.d/jenkins_agent.sh: Exec format error。另外脚本中出现的文件都需要使用绝对路径。 创建链接 关于rc*.d下软链接的命名 此类链接文件一般以K或S开头其中K表示停止Kill一个服务会向脚本传递stop参数S表示启动Start一个服务会向脚本传递start参数所以他们可以指向同一个脚本文件只是传递不同的参数以产生不同执行结果。 S\K后面会跟数字表示脚本的执行顺序数字越小执行顺序越靠前。 如果希望在runlevel 3启动时启动脚本则需要 ln -s /etc/init.d/jenkins_agent.sh /etc/rc3.d/S95jenkins_agent如果是runlevel 5启动 ln -s /etc/init.d/jenkins_agent.sh /etc/rc5.d/S95jenkins_agent这里也可以通过update-rc.d来创建链接不过这里不推荐了原因有三 ① 并非centos系统默认程序ubuntu默认自带 ② 脚本需要遵守init.d中启动脚本编写规范有一定学习成本 ③ 在某些版本设置完成后启动顺序有所变化 当完成后可以看到脚本已正常运行并且在日志中也有所体现 rootubuntu1:/etc/init.d# journalctl -xe|grep jenkins Jun 27 23:00:35 ubuntu1 systemd[1]: Starting jenkins_agent.service... -- Subject: Unit jenkins_agent.service has begun start-up -- Unit jenkins_agent.service has begun starting up. Jun 27 23:00:35 ubuntu1 systemd[1]: Started jenkins_agent.service. -- Subject: Unit jenkins_agent.service has finished start-up -- Unit jenkins_agent.service has finished starting up.总的来说这种方式简单粗暴 2. 创建服务service推荐 把脚本创建为服务通过systemd管理 这里我们把前面创建的脚本链接删除 rootubuntu1:/etc/init.d# mv /etc/rc3.d/S95jenkins_agent /dev/null rootubuntu1:/etc/init.d# mv /etc/rc5.d/S95jenkins_agent /dev/null rootubuntu1:/etc/init.d# ps -ef|grep java|grep -v grep一般service都存放于/lib/system/system目录下以xxx.service命名且内部采用统一的格式 [Unit] Descriptionxxxxxxxxxxxxxxxx #描述服务 Afternetwork.target #用于指定服务启动的前置条件 Documentation #帮助文件的地址可缺省[Service] #Type 启动时进程行为,比如设为simple #EnvironmentFile 指定环境变量不指定可以设为no #User 启动用户 #Group 启动用户组 ExecStart /usr/bin/test #服务启动命令此项必填 ExecStop /usr/bin/test #服务终止命令可缺省 #Restart 指定重启条件比如设为on-failure #RestartSec 自动重启当前服务的间隔秒数比如设为1s[Install] #用来定义如何启动以及是否开机启动。 WantedBymulti-user.target #当服务开机启动后会放入什么文件夹影响启动顺序修改后的service文件 Unit] Descriptionjenkins agent start Afternetwork.target Documentation[Service] ExecStart /usr/bin/java -jar /usr/local/share/agent.jar -jnlpUrl http://192.168.5.54:8080/computer/70%2E140/jenkins-agent.jnlp -secret 67d842f7fc00f1627a1e9cf5a3901689dae8522a6fe8cc658bd0a0c73023fafb -workDir /usr/share/jenkins [Install] WantedBymulti-user.target这样我们就可以通过systemd进行管理该脚本 rootubuntu1:/lib/systemd/system# systemctl enable jenkins-agent.service Created symlink from /etc/systemd/system/multi-user.target.wants/jenkins-agent.service to /lib/systemd/system/jenkins-agent.service. rootubuntu1:/lib/systemd/system# systemctl start jenkins-agent.service rootubuntu1:/lib/systemd/system# systemctl status jenkins-agent.service ● jenkins-agent.service - jenkins agent startLoaded: loaded (/lib/systemd/system/jenkins-agent.service; disabled; vendor preset: enabled)Active: active (running) since Fri 2024-06-28 00:29:14 PDT; 2s agoMain PID: 19035 (java)CGroup: /system.slice/jenkins-agent.service└─19035 /usr/bin/java -jar /usr/local/share/agent.jar -jnlpUrl http://192.168.5.54:8080/computer/70%2E140/jenkins-agent.jnlp -secret 67d842f7fc00f1627a1e9cf5a3901689dae8522a6fe8cc658bd0a0 ... rootubuntu1:/lib/systemd/system# systemctl stop jenkins-agent.service rootubuntu1:/lib/systemd/system# systemctl status jenkins-agent.service ● jenkins-agent.service - jenkins agent startLoaded: loaded (/lib/systemd/system/jenkins-agent.service; disabled; vendor preset: enabled)Active: failed (Result: exit-code) since Fri 2024-06-28 00:32:35 PDT; 2s agoProcess: 19183 ExecStart/usr/bin/java -jar /usr/local/share/agent.jar -jnlpUrl http://192.168.5.54:8080/computer/70%2E140/jenkins-agent.jnlp -secret 67d842f7fc00f1627a1e9cf5a3901689dae8522a6fe8ccMain PID: 19183 (codeexited, status143) ...这种方法比较推荐关于systemd管理文件如何编写可以参考 https://blog.csdn.net/u010230019/article/details/132336029 3. /etc/profile /etc/profile.d不推荐 不建议把启动脚本写在/etc/profile和/etc/profile.d中虽然可以这么做原因 /etc/profile /etc/profile.d中的脚本或命令每次用户登录都会加载执行所以如果某些提供服务的脚本放在此处每次用户登录都会执行该脚本或命令 cp /etc/init.d/jenkins_agent.sh /etc/profile.d/rootubuntu1:~# exit logout yurqubuntu1:~$ sudo -i rootubuntu1:~# ps -ef|grep java root 2105 1 2 01:02 pts/0 00:00:09 /usr/bin/java -jar /usr/local/share/agent.jar -jnlpUrl http://192.168.5.54:8080/computer/70%2E140/jenkins-agent.jnlp -secret 67d842f7fc00f1627a1e9cf5a3901689dae8522a6fe8cc658bd0a0c73023fafb -workDir /usr/share/jenkins root 5149 5071 0 01:10 pts/0 00:00:00 grep --colorauto java [1] Exit 255 nohup /usr/bin/java -jar /usr/local/share/agent.jar -jnlpUrl http://192.168.5.54:8080/computer/70%2E140/jenkins-agent.jnlp -secret 67d842f7fc00f1627a1e9cf5a3901689dae8522a6fe8cc658bd0a0c73023fafb -workDir /usr/share/jenkins /dev/null/etc/profile /etc/profile.d主要还是用来设置环境变量以及一些用户的特殊设置。对于不需要以服务形式提供的脚本实际也是可以放到此处的。 具体来说/etc/profile文件的作用包括 设置系统范围的环境变量可以在该文件中定义系统级别的环境变量这些环境变量会被所有用户的shell会话继承。执行全局的shell脚本可以在该文件中执行一些需要在系统启动时执行的脚本比如初始化系统环境、加载特定的模块等操作。配置全局的shell选项可以在该文件中设置系统范围内的shell选项比如设置命令提示符、历史记录、自动补全等。 总的来说/etc/profile文件是用来配置系统范围的shell环境和行为的可以对系统的整体行为进行一些设置和调整。 4. /etc/rc.local 在最新的linux发行版中/etc/rc.local文件默认已经不存在了如果需要可能要手动创建 可以在/etc/rc.local中加入执行的脚本例如 yurqubuntu1:~$ tail /etc/rc.local # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing.#!/bin/bash nohup /usr/bin/java -jar /usr/local/share/agent.jar -jnlpUrl http://192.168.5.54:8080/computer/70%2E140/jenkins-agent.jnlp -secret 67d842f7fc00f1627a1e9cf5a3901689dae8522a6fe8cc658bd0a0c73023fafb -workDir /usr/share/jenkins /dev/null 虽然ubuntu中没有提示加执行权限但在centos中有提到不过说明的位置和文件实际位置略有差异。 [rootnode-254 ~]# cat /etc/rc.local #!/bin/bash # THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES # # It is highly advisable to create own systemd services or udev rules # to run scripts during boot instead of using this file. # # In contrast to previous versions due to parallel execution during boot # this script will NOT be run after all other services. # # Please note that you must run chmod x /etc/rc.d/rc.local to ensure # that this script will be executed during boot.所以如果能让脚本开机自启还需要加执行权限 chmod x /etc/rc.local重启后仍可以达到效果 yurqubuntu1:~$ ps -ef|grep java root 795 1 61 01:21 ? 00:00:07 /usr/bin/java -jar /usr/local/share/agent.jar -jnlpUrl http://192.168.5.54:8080/computer/70%2E140/jenkins-agent.jnlp -secret 67d842f7fc00f1627a1e9cf5a3901689dae8522a6fe8cc658bd0a0c73023fafb -workDir /usr/share/jenkins yurq 968 915 0 01:21 pts/0 00:00:00 grep --colorauto java对于这种方式笔者谈不上推荐或不推荐因为在最新的linux发行版中该文件已经默认不存在了所以有很大概率在未来的某个版本开始将彻底移除这个功能。如果不看那么长远现在使用倒是也还可以。
http://www.w-s-a.com/news/427724/

相关文章:

  • 个人网站的设计与实现的主要内容网站开发公司架构
  • 浏览器收录网站什么是新媒体营销
  • 上海营销网站建设公司下面哪个不是网页制作工具
  • 有哪些网站可以做设计比赛苏州设计公司排名前十
  • 公益网站建设需求车陂手机网站开发
  • 高端网站建设专业营销团队宁德网站建设51yunsou
  • 网站如何做cdn购物网站建设app开发
  • 简单的手机网站模板好看大方的企业网站源码.net
  • 沈阳住房和城乡建设厅网站网站个人备案做论坛
  • 企业建网站的目的开家网站建设培训班
  • 做怎么网站网站优化和推广
  • 建站工具 风铃网站每年空间域名费用及维护费
  • 网站开发工具 知乎工业软件开发技术就业前景
  • 永济微网站建设费用新手如何自学编程
  • 在本地怎么做网站深圳保障房申请条件2022
  • 广州天河区网站建设公司东莞网络游戏制作开发
  • 哪个网站做免费小程序rio门户网站的制作
  • 短网站生成查询网站所有关键词排名
  • 阿里云购买网站登录技术服务外包公司
  • 淘宝单页面网站手机制作游戏的软件
  • 汉中市网站建设wordpress编辑器好麻烦
  • 织梦做的网站快照被攻击在线看crm系统
  • 青岛物流公司网站建设网站建设提议
  • 企业网站建设高端品牌宿州注册公司多少钱
  • 个人微信公众号怎么做微网站吗湛江网站制作方案
  • 学校网站改版南京展厅设计装修
  • 手机网站有免费做的吗建设银行网站不能登录
  • 树莓派做影视网站网站建设企业 熊账号
  • 网站iis7.5配置免费网站建设模板下载
  • 生物公司网站建设方案wordpress自定义字段调用