Ubuntu/Linux开机自启动脚本创建方法

news/2024/12/27 16:21:48/文章来源:https://www.cnblogs.com/ais87/p/18636054

mc服务器自重启/自备份脚本

创建文件

首先,我们需要创建一个脚本

新建一个auto.sh文件

赋予他执行权限

chmod +x /root/auto.sh

内容如下

#!/usr/bin/bash
echo "Hello, World!"

其中第一行是指定脚本使用 Bash Shell 解释器,可以使用下面的命令查看

which bash

接下来尝试运行

./auto.sh

出现了如下报错

-bash: ./auto.sh: /usr/bin/bash^M: bad interpreter: No such file or directory

原因是我在windows上进行的编辑,换行符与linux不同,所以在linux里面使用vim进行编辑

vim auto.sh

然后输入

:set fileformat=unix 
:wq

再次尝试运行,发现能够正常运行

设置开机自启动和循环

编辑 cron 配置文件:

crontab -e

首次使用时他让我选择编辑器

root@RXXX:~# crontab -e
no crontab for root - using an empty oneSelect an editor.  To change later, run 'select-editor'.1. /bin/nano        <---- easiest2. /usr/bin/vim.basic3. /usr/bin/vim.tiny4. /bin/edChoose 1-4 [1]: 

这里我就选择vim了,输入2然后enter

使用@reboot,在末尾添加该行,第一行是开机自启动,第二行是每隔一分钟启动一次

@reboot /root/auto.sh  ##
* * * * * /root/auto.sh

然后一直没有循环,通过

sudo tail -f /var/log/syslog

查看日志,结果如下

Dec 21 16:59:58 RainYun-Qwkr5UGW qemu-ga: info: guest-exec called: "/bin/bash -c grep MemAvailable /proc/meminfo"
Dec 21 16:59:58 RainYun-Qwkr5UGW qemu-ga: info: guest-ping called
Dec 21 16:59:58 RainYun-Qwkr5UGW qemu-ga: info: guest-exec-status called, pid: 5592
Dec 21 16:59:59 RainYun-Qwkr5UGW qemu-ga: info: guest-ping called
Dec 21 17:00:01 RainYun-Qwkr5UGW CRON[5595]: (root) CMD (/root/auto.sh)
Dec 21 17:00:01 RainYun-Qwkr5UGW CRON[5593]: (CRON) info (No MTA installed, discarding output)
Dec 21 17:01:01 RainYun-Qwkr5UGW CRON[5603]: (root) CMD (/root/auto.sh)
Dec 21 17:01:01 RainYun-Qwkr5UGW CRON[5602]: (CRON) info (No MTA installed, discarding output)
Dec 21 17:02:01 RainYun-Qwkr5UGW CRON[5608]: (root) CMD (/root/auto.sh)
Dec 21 17:02:01 RainYun-Qwkr5UGW CRON[5607]: (CRON) info (No MTA installed, discarding output)

似乎是成功的运行了,但是 (No MTA installed, discarding output)说明 没有邮件传输代理(MTA),我无法接收到信息

chatGPT提到能将输出重定向到文件中,但需要反复查看日志,故舍弃

新方法是重定向到终端

通过命令

tty

查看到终端位置如下

/dev/pts/2

然后修改cron任务

* * * * * /root/auto.sh | tee /dev/pts/2

成功了

但是!!

这个终端是变的,当我新开了个终端时,pts/后面的数字变了,所以最终可能还是需要输入到日志中

>> /root/logfile.log 2>&1

>>表示追加,```2>&a``表示将错误信息也一并写入其中

最后是

* * * * *  /root/auto.sh >> /root/auto_file.log 2>&1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/859894.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GO 学习笔记之零 (三)常见问题处理集锦

1、Golang如何解决case-insensitive import collision问题 1.1 现象1.2 解决方法该问题产生说明在所有go文件中引入包时,存在 ShipModel/Radar 和 ShipModel/radar 两种写法,需要统一。对于VSCODE工具,可以在 全局文件中搜索 ShipModel/Radar 查看 写法是不是一样,然后 进行…

UML之属性与参数的多重性

在UML中,多重性是指一个条目潜在的数量范围。多重性可被用于属性、操作参数、关联关系。UML元模型也使用多重性对元模型元素之间的关系进行约束。多重性总是包含基数值,它是相关条目在现实世界中的确切数量。本文将说明类属性和类操作参数的多重性。 一、属性的多重性 假设我…

水仓水位异常识别智慧矿山一体机构建智慧矿山系统:监控硬盘如何影响监控系统的稳定性?

中国作为全球最大的煤炭生产和消费国,煤矿行业在能源供应中依然占据重要地位。虽然国家逐步推动能源结构转型,发展可再生能源,但煤炭仍然在短期内满足能源需求方面发挥着重要作用。近年来,煤矿安全生产水平有所提高,但仍存在一定的安全隐患。国家对煤矿的安全监管力度加大…

FANUC发那科机器人控制箱维修操作流程

FANUC发那科机器人在工业自动化领域中占有重要地位,其高效、稳定和精确的性能赢得了众多用户的青睐。然而,随着使用时间的增长,可能会出现FANUC机器人控制柜故障,影响到发那科机器人的正常运行。本文将详细介绍发那科FANUC机器人控制箱维修操作流程,帮助企业更好地了解和掌…

CH592 memcpy

memcpy提速方法: #define ALIGN_MASK 0x3 #define COPY32 *d32 = *s32; d32++; s32++; #define COPY8 *d8 = *s8; d8++; s8++; #define SET32(x) *d32 = x; d32++; #define SET8(x) *d8 = x; d8++; #define REPEAT8(expr) expr expr expr expr expr expr expr expr type…

【工作相关】gki boot.img下载

地址 https://source.android.com/docs/core/architecture/kernel/gki-android13-5_15-release-builds?hl=zh-cn Android13-5.15 发布版本查看Linux version信息: 相关解包命令参考这里【传送门】 解包过程:~/cts/gki$ ../bin/unpack_bootimg --boot_img boot-5.15.img --ou…

鸿蒙NEXT开发实战教程—小红书app

幽蓝君最近发现小红书是个好东西,一定要多逛今天就浅浅模仿一下小红书app,主要是底部tab栏和主页部分。首先看一下tabbar,由于中间有一个红色按钮的存在,所以这里我使用自定义导航栏来实现,自定义的实现逻辑是在本来app的上层叠加一层自定义tabbar,使用监听index的变化来…

Python数据结构之双向循环链表

1、循环双向链表特点通过当前结点直接获取上一结点 通过头结点的上一结点直接可以去找到尾结点 可以进行反向循环链表,即反转链表2、头结点 链表头: 在数据结构中,链表是一种常见的存储结构。链表的每个节点包含数据和指向下一个节点的指针。链表头是链表的第一个节点,它在…

CDS标准视图:功能位置 I_FunctionalLocation

视图名称:I_FunctionalLocation 视图类型:基础 视图代码:点击查看代码 @EndUserText.label: Functional Location @Analytics: { dataCategory: #DIMENSION } @VDM.viewType: #BASIC @AbapCatalog: { sqlViewName: IFUNCTLLOCATION, compiler.compareFilter, preserveKey } …

DNS 原理入门

DNS 原理入门 导读 DNS 是互联网核心协议之一。不管是上网浏览,还是编程开发,都需要了解一点它的知识。本文详细介绍DNS的原理,以及如何运用工具软件观察它的运作。我的目标是,读完此文后,你就能完全理解DNS。一、DNS 是什么? DNS (Domain Name System 的缩写)的作用非…

Pycharm 2024.3 安装详细教程与激活方法(附常见问题解决)

Pycharm概述 Pycharm是JetBrains公司推出的一款功能强大的Python集成开发环境(IDE),凭借其丰富的功能和工具集,极大地提升了开发者的编程效率和工作体验。温馨提示: 本文中的方法仅供学习交流使用,如果条件允许,请支持正版软件。删除旧版本 Pycharm 如果您的电脑中已经安…

算法网关视频分析网关小知识:如何对视频分析系统实施冗余设计以提高稳定性?

在城市交通管理中,视频分析系统扮演着至关重要的角色,它不仅需要实时监控和分析交通流量,还需要在各种复杂环境下保持稳定运行。为了确保视频分析系统在面对设备故障、网络中断、电源波动等不可预见情况时仍能保持高可用性,实施冗余设计成为了提高系统稳定性的关键策略。以…