Ubuntu22.04设置开机自启.sh文件以及定时任务

这篇具有很好参考价值的文章主要介绍了Ubuntu22.04设置开机自启.sh文件以及定时任务。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、开机自启.sh文件

1.创建.sh文件, 路径可以自行选择
sudo touch /opt/sh_files/mysh01.sh
2.赋予可执行权限
sudo chmod a+x /opt/sh_files/mysh01.sh
3.输入内容到.sh文件中

注意:脚本文件的第一行应该是shebang,指定了执行该脚本的解释器。例如,如果是一个bash脚本,它应该是 #!/bin/bash

vim /opt/sh_files/mysh01.sh

样本内容:

#!/bin/bash  
# 会议室服务  
cd /opt/django_projects/dj_project  
source ../vc/bin/activate  
uwsgi --ini /opt/django_projects/dj_project/uwsgi.ini &

保存退出

4.创建.service文件在 /etc/systemd/system 目录下
sudo nano /etc/systemd/system/myscript01.service

 上述命名会创建并打开一个文本编辑器,往里面输入以下内容:

[Unit]  
Description=My Custom Script  
After=network.target  
 
[Service]  
ExecStart=/opt/sh_files/mysh01.sh 
Restart=on-failure  
User=root  
Group=root 
 
[Install]  
WantedBy=multi-user.target

注意:将ExecStart替换成自己创建的.sh绝对路径,UserGroup换成创建.sh文件的用户和组(可以用 ll /opt/sh_files/mysh01.sh 或者 ls -l /your/path/01.sh 进行查看)

5.重新加载systemd
sudo systemctl daemon-reload
6.启用并启动服务
sudo systemctl enable myscript01.service

禁用就把 enable --> disable

可以立即启动服务以测试它是否按预期工作

sudo systemctl start myscript01.service
7.检查服状态
sudo systemctl status myscript01.service

如果状态中 Active: failed 表示失败,检查对应文件或上述步骤是否执行成功

如果状态中 Active: deactivating ,表示服务当前处于停用状态,但不影响开机自启

如果状态中 Active: running, 表示服务正在运行

8.重启系统(非必要操作)
reboot

二、定时任务

1.创建.sh文件并赋予可执行权限
sudo touch /opt/sh_fiels/sh02.sh
sudo chmod a+x /opt/sh_files/sh02.sh
2.输入内容
vim /opt/sh_files/sh02.sh

样本内容:

#!/bin/bash  
  
# 查询进程  
ps -aux | grep -v grep | grep /opt/django_projects/dj_project/uwsgi.ini > /opt/ps.txt 2>/dev/null  
  
# 检查是否有匹配的进程  
if grep -q 'uwsgi' /opt/ps.txt; then  
    # 关闭进程  
    PID=$(grep 'uwsgi' /opt/ps.txt | awk '{print $2; exit}')  
    if [ -n "$PID" ]; then  
        kill -9 "$PID"  
    fi  
fi  
  
# 启动会议室服务  
cd /opt/django_projects/dj_project || exit 1  
source ../vc/bin/activate  
uwsgi --ini /opt/django_projects/dj_project/uwsgi.ini & # 后台运行  
deactavate # 定时循环需要用到

### (简单解释:过滤查询会议室服务的进程PID重定向到/opt/ps.txt文件里,标准错误信息放在黑洞文件中;检查是否有匹配的进程,如果有便读取ps.txt文件的第二列(即PID),将其作为kill命令的参数进行传递并杀死指定进程;重新启动会议室服务)

3.打开定时计划任务文本编辑器
crontab -e
4.输入内容

另起一行输入

* * * * * /path/to/your/script.sh

这里的五个星号分别代表:

  • 分钟(0-59)

  • 小时(0-23)

  • 日期(1-31)

  • 月份(1-12 或 JAN-DEC)

  • 星期(0-7,其中 0 和 7 都代表星期日,或者使用 SUN-SAT)

如果想要每隔一小时运行一次脚本,应该在小时和分钟位置使用合适的值。例如,在每个小时的第 0 分钟运行脚本,你可以这样写:

0 * * * * /opt/sh_files/sh02.sh

依次按下 ctrl+x shift+y enter 进行保存退出

系统会在预定时间执行任务,和windows定时任务类型

5.查看定时任务列表
crontab -l

提示:该系统下的定时任务可以是如何用户创建的,可以不使用root权限;定时任务在系统重启后仍会保持运行;如果不需要该任务,进入任务文本中删除任务即可。文章来源地址https://www.toymoban.com/news/detail-845372.html

到了这里,关于Ubuntu22.04设置开机自启.sh文件以及定时任务的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Ubuntu 18.04 设置开机自启脚本

    一、背景 同伴在频繁更新系统环境,需要经常使用reboot命令重启,但每次重启后端Jar都会停止,每次重启都需要手动启动Web后端Jar包。针对此种情况,想到了采用开机自动启动Jar包的方法来节省时间。 二、详细步骤 1. 编写你想要开机自动执行的命令。 切换到你想要装脚本的

    2023年04月10日
    浏览(28)
  • ubuntu22.04开机自启动Eureka服务

    ubuntu22.04开机自启动Eureka服务 1、创建启动脚本eurekaService.sh eurekaService.sh内容为 2、赋予可执行权限 3、新建要启动的Eureka服务文件 eureka.service内容为 4、启动Eureka服务

    2024年02月09日
    浏览(25)
  • Ubuntu22.04开机左上角下划线闪烁不开机

    按下Ctrl+Alt+F2,打开TTY系统,然后通过用户名和密码登录,随后使用 根据提示排除错误信息,然后使用apt安装lightdm安装就行。 tips:当使用EasyConnect的时候,你可能参考了下面这篇文章 知乎文章 https://zhuanlan.zhihu.com/p/346325399 也就是说,你安装了libpango-1.0-0、libpangocairo-1.0-0和l

    2024年01月25日
    浏览(29)
  • ubuntu22.04 开机挂载硬盘,数据分区没有“写”权限

    场景:用管理员账户 A来安装,安装后,再增加一个管理员账户 B。 问题:以管理员账户 B来启动,系统盘和数据盘在一块硬盘上,安装时的默认挂载,出现数据盘只有读、没有写的权限。 原因:应该是 Bug ? 解决: 方案1、修改 fstab,将数据分区手动挂载到一个可写的目录上

    2024年01月22日
    浏览(37)
  • Ubuntu 22.04 开机后在登陆界面循环问题解决

    Ubuntu开机后在登录界面,即使输入正确的用户名和密码,3秒后也会重新跳到登录界面,无法进入系统,一直循环登录。 能登录命令行模式,说明账号密码没问题,排除。 刷到说英伟达驱动,最近没有安装,排除 .Xauthority权限,并非root,是当前登陆用户的,排除 /tmp,删除了

    2024年04月26日
    浏览(21)
  • Ubuntu22.04:设置Samba服务【Windows访问samba共享提示,你不能访问此共享文件夹】

    1.更新apt储存库列表 2.安装samba 3.验证samba是否安装成功 也可以直接查看版本 或直接查看systemctl进程的方式查看 示例:创建一个narada的目录在/home下 编辑配置文件/etc/samba/smb.conf     [narada]     comment = my share dir     path = /home/narada     browseable = yes     writable = yes 注意,这个

    2024年02月10日
    浏览(34)
  • Ubuntu22.04开机出现the GNU GRUB version 2.06

    偶然的机会,笔者重新打开了自己的Linux电脑,在启动时出现了如下问题: 开机黑屏,并显示 现在该如何开机,又该如何修复呢? 首先,该问题是由于开机系统盘引导出现问题导致的,所以我们进行如下操作(以启动盘为(hd0,msdos1)为例) 如上操作后即可正常启动,但是注意

    2024年02月05日
    浏览(39)
  • Ubuntu22.04 设置IP地址

    虚拟机:VMware Workstation 17  目录后面的文件名可能不同 文件内容修改如下(网上有vi操作的相关说明) ens33:是网卡名字,可Ifconfig命令查看 如上内容设置:DHCP 关闭 , 静态IP 192.168.1.21 ,网关 192.168.1.1 vi指令操作保存并退出  :wq回车 重启网络 经过上述修改,目前测试Web

    2024年02月08日
    浏览(47)
  • Ubuntu 22.04 设置拓展显示屏设置使用

    一 项目背景         项目要求使用ubunut系统,由于需要java应用开发需要,选用x86CPU结构开发(哎,用这种开发的产品量就不会大)。需要两个显示输出,一个HDMI用作客户使用,一个输出给到一个8寸的小屏(带触摸和声音)。要求启动后8寸屏显示自己做的应用,客户在这个

    2024年02月15日
    浏览(27)
  • Ubuntu 22.04版本设置静态IP

    在Ubuntu 20.04中设置静态IP的步骤如下: 打开终端并输入以下命令以编辑网络配置文件: 文件中应该有以下内容: 其中“enp0s3”是网卡的名称 将内容替换为: 保存并关闭文件。 输入以下命令以应用更改: 确认静态ip是否设置成功:

    2024年02月13日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包