Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >How to Run Tmux Service Scripts on Ubuntu Start Up

How to Run Tmux Service Scripts on Ubuntu Start Up

作者头像
happy123.me
发布于 2019-12-30 09:29:30
发布于 2019-12-30 09:29:30
6790
举报
文章被收录于专栏:乐享123乐享123

是的,做了无数遍还是不长记性,昨天又在这上面踩坑了;在ubuntu上写的启动脚本不执行,仅仅是可执行权限和用户权限的问题,又浪费了一上午;

在unbuntu启动时自动做一些工作,最佳实践是:

你想要执行一个服务
  • 如果是比较老的ubuntu (version<=14.04LTS);

这个时候你需要利用ubuntu的upstart机制

简单说来,就是将一个这样的脚本:

1 2 3

start on startup task exec /path/to/command

存为taskxxx.conf文件,放到/etc/init 目录下面(这将会在开机时用root用户权限启动);

或者存为 ~/.config/upstart(这将会在开机时用当前用户权限启动)

  • 如果你是比较现代的ubuntu (version>=16.04LTS)

你需要利用 systemd 服务,这个我们之前写文章科普过:

https://happy123.me/blog/2016/08/22/how-to-write-standard-startup-script/

仅仅想执行一条简单的命令

1

sudo nano /etc/rc.local

加入执行的命令,不要忘了最后加exit

1 2

/opt/tmux.sh exit 0

增加可执行权限

1

sudo chmod +x /etc/rc.local

注意:

  • 要有可执行权限,这个最容易踩坑,ubuntu安装完毕 /etc/rc.local 是没有可执行权限的
  • 注意执行命令的ENV变量,不确定的时候要在命令签名设定SHELL ENV Variable
  • 如果是执行一个脚本,注意脚本命令调用的shell (bash or sh or zsh),以及ENV Variable
  • 注意执行脚本、执行命令的用户
如果是修改一个环境变量

修改当前用户:

1

nano ~/.bashrc

所有用户生效:

1

nano ~/etc/profile

最后,附赠最简单粗暴的开机执行任务方式

就是在/etc/rc.local 里面启动一个tmux session,在里面执行想要运行的命令;简单粗暴有效

来个模板:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

#!/bin/bash # description "Start Tmux" # Sleep for 5 seconds. If you are starting more than one tmux session # "at the same time", then make sure they all sleep for different periods # or you can experience problems /bin/sleep 5 # Ensure the environment is available source ~/.bashrc # Create a new tmux session named newscrawler.. /usr/bin/tmux new-session -d -s bitcoin # ...and control the tmux session (initially ensure the environment # is available, then run commands) # /usr/bin/tmux send-keys -t bitcoincash:0 "source ~/.bashrc" C-m tmux new-window -n console -t bitcoin /bin/sleep 3 /usr/bin/tmux send-keys -t bitcoin:0 "cd /opt/bitcoin && ./startbitcoind.sh" C-m /bin/sleep 3 /usr/bin/tmux send-keys -t bitcoin:1 "cd /opt/bitcoin && ./checkwallet start" C-m

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
ubuntu下利用expect实现screen多窗口开机运行
ubuntu下利用expect实现screen多窗口开机运行 1. expect的安装与使用 1.1. expect的安装与使用 是什么 expect 是用来进行自动化控制和测试的工具。主要是和交互式软件telnet ftp ssh 等进行自动化的交互。 如何安装 1.2. 检测是否安装 ls /usr/bin |grep expect Bash 如果不存在,则进行安装 1.3.安装 apt-get install expect Bash ls /usr/bin |grep expect autoexp
小沨
2020/08/06
1.7K0
【详解】linux下配置mysql开机自启动
在Linux系统中,确保MySQL服务在系统启动时自动运行是一个常见的需求。这可以确保数据库服务始终可用,从而支持应用程序的正常运行。本文将介绍如何在不同的Linux发行版(如Ubuntu、CentOS等)上配置MySQL的开机自启动。
大盘鸡拌面
2025/01/24
7540
一款开源免费且基于Laravel开发的在线点播系统:MeEdu搭建教程
说明:之前看有童鞋需要个点播系统,恰好就看到个不错的MeEdu,一个开源免费的在线点播,电子书和会员收费三大模块为一的整合系统,该系统主要的目的是让每位身负技能的人都可以通过MeEdu来构建自己的知识付费应用,通过MeEdu将自己的知识进行变现,而且功能也很多,具体的下面会列举出来,这里就发个搭建教程。
子润先生
2021/06/01
2K0
linux篇:CenterOS6和Center的区别
CentOS6采用了upstart技术代替sysVinit进行引导,Upstart对rc.sysinit脚本做了大量的优化,缩短了系统初始化的启动时间。但是CentOS6为了简便管理员的操作,upstart的很多特性并没有凸显或直接不支持。
张哥编程
2024/12/19
1450
Linux运维-Tmux使用技巧与最佳实践
Tmux 是 Terminal Multiplexer 的简称,它是一款优秀的终端复用软件,类似 GNU screen,但比screen更出色。tmux来自于OpenBSD,采用BSD授权。使用它最直观的好处就是, 通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“浪费”多余的终端来连接这台远程主机, 还有一个好处就是当终端关闭后该shell里面运行的任务进程也会随之中断,通过使用tmux就能很容易的解决这个问题。
王先森sec
2024/07/27
5470
Linux运维-Tmux使用技巧与最佳实践
ubuntu-server-18.04 设置开机启动脚本
快速看了 systemd 的使用方法,发现改动有点大, 包括用 systemctl 命令来替换了 service 和 chkconfig 的功能。
西湖醋鱼
2020/12/30
9600
RHEL6设置Tomcat开机自启动
Linux下/etc/init.d和/etc/rc.d/rc.local的区别说明:
星哥玩云
2022/07/27
1.1K0
linux设置开机自启动
例如,每次开机时要执行一个hello.sh,这个脚本放在/usr下面,那就可以在"/etc/rc.local"中加一行"/usr/./hello.sh",或者" cd /opt && ./hello.sh "
用户1685462
2021/07/27
18.9K0
Linux系统部分主要目录或文件汇总
注:系统 CentOS release 6.9 (Final) 以下总结的目录仅供参考,不保证完全正确,如有问题,可以告诉我,共同学习,谢谢! / 系统根目录,存放系统相关的程序 /bin 命令二进制文件的存放目录binary /boot Linux的内核及系统引导程序所需的文件目录 /home 普通用户的家目录,存放用户的数据 /root root用户的家目录 /
醉生萌死
2018/11/05
1K0
树莓派 Ubuntu mate 16.04 下开启vncserver(自动启动+改分辨率)
树莓派 Ubuntu mate 16.04 下开启vncserver(自动启动+改分辨率)
墨文
2020/02/28
2.2K0
Ubuntu 18.04 rc.local systemd设置
ubuntu16.04 系统直接添加任务就可以了,直接编辑 vim/etc/rc.local
Tinywan
2019/07/16
1.7K0
ubuntu-18.04开机启动脚本
由于从ubuntu-16.10开始ubuntu不再使用initd管理系统,改用systemd 看了systemd的使用方法,发现改动有点大,包括包括用 systemctl 命令来替换了 service 和 chkconfig 的功能。 比如以前启动 mysql 服务用: sudo是管理权限,如果当前用户是管理员请忽略。
微醺
2020/06/18
4K0
应急响应-消灭挖矿木马
木马文件会修改常用的系统命令,如ps、pstree、top、kill、ls,让用户在执行常见的系统命令时,自动恢复或启动木马文件。 判断命令是否被修改的方法: 2.1 通过 rpm 命令来判断执行命令
用户10638239
2024/11/15
3070
树莓派搭建无污染DNS服务器
{% note modern info %}这里的路径是你自己证书放的地方{% endnote %}
T1Am0
2022/09/13
2.4K0
树莓派搭建无污染DNS服务器
RHEL7开机自启动shell脚本
经过后面的几个步骤后,这个脚本在开机的时候会执行,在这个脚本里面可以写你开机的时候想执行的命令,如启动Tomcat,Oracle等服务
星哥玩云
2022/07/26
1.5K0
Linux持久化实操
因为NvRAM的普及BIOS程序是可以修改的,所以可以把特制的后门写入BIOS程序中。但是只有获得了电脑的物理访问权限,才能植入 BIOS 后门。现在的BIOS后门大多是第三方或者刷BIOS的老哥们搞的。
FB客服
2023/02/10
8400
Linux之init.d、rc.d文件夹说明
今天在研究mysql的安装的时候,最后一步要创建一个软连接,使得mysql服务可以自启动,代码如下:
AsiaYe
2019/11/06
15.7K1
Linux之init.d、rc.d文件夹说明
记一次Linux被入侵,服务器变“矿机”全过程
出处:看雪社区:https://bbs.pediy.com/thread-225163.htm
帅地
2019/06/20
1.2K0
记一次Linux被入侵,服务器变“矿机”全过程
011.Linux目录结构以及重要系统文件
作用:DNS(Domain Name System)配置文件,DNS主要负责将网站域名解析为对应的IP地址,从域名到IP的解析过程,称作A记录,即Address Record
CoderJed
2020/05/09
1.1K0
011.Linux目录结构以及重要系统文件
Ubuntu 18.04 安装使用 Supervisor 进程守护并设置开机自动启动
最近需要在 Ubuntu 上配置一下进程守护,因为有些进程必须一直运行,否则就比较尴尬。于是网上搜索了一下,比较原生的做法是使用 systemd 进行配置,但是看了下操作比较繁琐,于是搜到了 Supervisor。Supervisor(http://supervisord.org)是用 Python 开发的一个 client / server 服务,是 Linux / Unix 系统下的一个进程管理工具,不支持 Windows 系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用 Supervisor 管理的进程,当一个进程意外被杀死,Supervisord 监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写 shell 脚本来控制。
搬砖部落
2020/09/10
8K0
相关推荐
ubuntu下利用expect实现screen多窗口开机运行
更多 >
LV.0
这个人很懒,什么都没有留下~
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档