linux 利用 crontab 实现 程序开机启动/crontab任务的多种实现方法
方法一、登录服务器,直接修改:
crontab -e
然后添加:
@reboot [nohup] {命令} ...
# 或者定时任务指令 保存退出:
ctrl + O
ctrl + x 方法二、指定用户进行修改:
sudo crontab -u {username} -e
然后添加:
@reboot [nohup] {命令} ...
# 或者定时任务指令 保存退出:
ctrl + O
ctrl + x 以上两种方法,可以提前将 任务指令 封装进一个文件,然后再统一导入: sudo crontab -u {username} {filename}
务必注意,用导入文件的形式添加定时任务,会进行覆盖重写操作(先清空已有定时任务,再从文件中导入)
解决办法:https://www.cnblogs.com/lowmanisbusy/p/12048054.html 方法三、修改 /etc/crontab:
sudo vim /etc/crontab
添加:
@reboot {username} [nohup] {命令} ...
# 或者定时任务指令 保存退出 该方法必须指定用户,该方法的好处是,可以将所有用户的crontab任务都在/etc/crontab文件中进行管理
(方法一和方法二会为用户单独维护一份crontab任务文件,不方便管理人员统一管理所有定时任务)
该方法本人在实际的操作过程中,无法通过远程发送指令的方式完成,必须需要打开一个交互式的shell窗口,手动修改.这里应该有权限限制
说明:
1. nohup 是用来让运行的程序忽略 SIGHUP 指令(因为在父程序退出后,所有的子程序会受到 SIGHUP 指令)从而保证运行的程序不退出, 根据实际情况决定是否使用该参数
(本人实际操作过程中,加入该参数时无法成功执行任务,请自测)
2. @reboot 只针对可登录服务器的用户生效, 如果使用不可登录服务器的用户执行该类型crontab任务,将会遭到忽略,执行失败 注意:
1.如果修改了服务器的时区或时间,必须将cron服务重启,否则仍然会按照原来的时区及时间执行定时任务
sudo -s
启动cron:/etc/init.d/cron start 或者 service cron start
重启:/etc/init.d/cron restart ( service cron restart )
关闭:/etc/init.d/cron stop ( service cron stop ) 2.默认情况下,cron 服务的日志是关闭的,如果需要开启 cron 日志,可以执行以下步骤(本人操作环境 ubuntu 16.04)
sudo vim /etc/rsyslog.d/50-default.conf
找到以下行,将注释取消即可:
# cron.* /var/log/cron.log 重启 rsyslog:
sudo service rsyslog restart 重启 cron:
sudo service cron restart 查看日志:
tail -f /var/log/cron.log
linux 利用 crontab 实现 程序开机启动/crontab任务的多种实现方法的更多相关文章
- 在Linux系统如何让程序开机时自动启动
在Linux系统如何让程序开机时自动启动 核心提示:系统的服务在开机时一般都可以自动启动,那在linux系统下如果想要程序在开机时自动启动怎么办?我们知道在 windows系统“开始”--& ...
- CentOS设置程序开机启动程序/服务的方法(转)
注意:CentOS 6下基本没什么问题,CentOS 7估计不一定能行. 在CentOS系统下,主要有两种方法设置自己安装的程序开机启动. 1.把启动程序的命令添加到/etc/rc.d/rc.loca ...
- Linux下的应用程序开机自启动
Linux下的应用程序开机自启动,目前我知道的有2种: 1.将启动语句写到/etc/rc.local 2.在init.d放置启动脚本 第一种,很简单,直接写进去就行,比如说: /db/mongodb/ ...
- Linux Redis自动启动,Redis开机启动,Linux Redis设置开机启动
Linux Redis自动启动,Redis开机启动,Linux Redis设置开机启动 >>>>>>>>>>>>>> ...
- Linux Redis安装,Linux如何安装Redis,Linux Redis自动启动,Redis开机启动
Linux Redis安装,Linux如何安装Redis,Linux Redis自动启动,Redis开机启动 >>>>>>>>>>>& ...
- CentOS程序 开机启动设置与chkconfig命令学习
CentOS设置程序开机启动的方法: 1.启动命令添加到/etc/rc.d/rc.local 文件中, 如: vim /etc/rc.d/rc.local #!/bin/sh # # This scr ...
- (转)(VS2013 )由于应用程序配置不正确,程序未能启动”--原因及解决方法
今天把别人的程序拿过来编译时通过,但是运行的时候,提示:由于应用程序配置不正确,程序未能启动 搜了一下,各种方法.最终通过下面的方法解决的. 项目--->配置属性---->链接器----& ...
- linux非root用户执行开机启动程序
问题 开机启动其他用户的程序或者说非root用户执行开机启动 编写开机启动脚本 编写开机启动脚本apple_tree,放到/etc/init.d,系统启动时会自动执行. 例如,/etc/init.d/ ...
- Golang 在 Linux CentOS 6.5 服务器上实现 博客后台程序开机启动
在linux下想实现开机启动的方法很多,这里我采用了在/etc/rc.local里写shell指令的方式. 以下就以我的实际操作为例子讲述,很多地方需要看官自己调整信息哦! 1.在/etc/rc.lo ...
随机推荐
- [LeetCode] 227. Basic Calculator II 基本计算器之二
Implement a basic calculator to evaluate a simple expression string. The expression string contains ...
- Swagger简单介绍
一句话介绍 Swagger Swagger是一个接口文档生成工具,同时提供接口测试调用的辅助功能. 关于 Swagger Swagger能成为最受欢迎的REST APIs文档生成工具之一,有以下几个原 ...
- SpringBoot第十九篇:邮件服务
作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/11118340.html 版权声明:本文为博主原创文章,转载请附上博文链接! 引言 邮件的重要 ...
- HTTP之缓存命中
缓存命中和缓存未命中 ========================摘自<HTTP权威指南>============================== 1.缓存命中和缓存未命中 可以用 ...
- js 宏任务和微任务
.宏任务(macrotask )和微任务(microtask ) macrotask 和 microtask 表示异步任务的两种分类. 在挂起任务时,JS 引擎会将所有任务按照类别分到这两个队列中,首 ...
- JS比较软件版本号
JS比较软件版本号 版本号格式为:a.b.c 1.获取版本号中的数字 function toNumber(n) { // 使用正则表达式,截取字符串为数组,字符串中包含非数值型,如字母,则数组元素中会 ...
- AngularJS入门Demo
1 :表达式 <html> <head> <title>入门小Demo-1</title> <script src="angular.m ...
- Android 5.0以下系统支持TLS 1.1/1.2协议版本
一.背景 项目中,客户端与服务端之间普遍使用Https协议通信,突然接到测试同事反馈Android5.0以下手机上,App测试服使用出现问题,出现SSL handshake aborted错误信息,但 ...
- K8s 学习者绝对不能错过的最全知识图谱(内含 58个知识点链接)
作者 | 平名 阿里服务端开发技术专家 导读:Kubernetes 作为云原生时代的“操作系统”,熟悉和使用它是每名用户的必备技能.本篇文章概述了容器服务 Kubernetes 的知识图谱,部分内容参 ...
- Prometheus 一条告警的触发流程、等待时间
Prometheus 一条告警的触发流程.等待时间 报警处理流程如下:1. Prometheus Server监控目标主机上暴露的http接口(这里假设接口A),通过上述Promethes配置的'sc ...