Linux定时任务与开机自启动脚本(cron与crontab)
开机自启动脚本
网上常见的脚本开机自启方法是:
假设要自启的脚本位于 /home/user/test.sh
- 给脚本可执行的权限
sudo chmod +x /home/user/test.sh
- 将脚本文件放到 /etc/init.d/ 目录下
sudo cp /home/user/test.sh /etc/init.d
- 链接到/etc/rc.d/
sudo ln -s /etc/init.d/start_my_app /etc/rc.d/
这样在新的diban系统中可能不能生效,要LSB 兼容之类 ,脚本还要提供start, stop, restart, force-reload,等命令,具体参考
https://wiki.debian.org/LSBInitScripts
因此这里推荐使用另外一种超级简单的方法:
bash中输入(推荐以管理员的状态)
crontab -e
第一次使用这个的话,会提示选择一种编辑器,根据个人喜好选择吧。然后就会进入对应编辑器的编辑界面,另起一行输入
@reboot /home/user/test.sh
reboot 后面即脚本文件位置,然后保存即可。Ok,脚本现在已经会在开机时自动运行了。
定时任务
同样的bash里输入 crontab -e
然后编辑界面加上具体的命令语句。基本语法为
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
比如:
每天的凌晨4点半运行test.sh脚本
30 04 * * * /home/user/test.sh
每周的周一17:30执行test.sh脚本
30 17 * * 1 /home/user/test.sh
或间隔15分钟执行一次test.sh脚本
*/15 * * * * /home/user/test.sh
这个指在9:05 至17:05的范围内,每个钟头的过5分会运行一次,比如10:05、11:05会运行
05 09-17 * * * /home/user/test.sh
关于
bash中输入
service --status-all
会发现有个cron,。就是cron 这个服务实现了前文中那些定时任务。而cron也是在/etc/init.d/中注册从而自启的,启动后它会扫描/var/spool/cron 、/etc/cron.d目录和 /etc/anacrontab文件,扫描到的文件中定义了各种定时任务。
另外关于crontab命令,: 后面的tab其实就相当table的缩写,因为系统中的每个用户(包括管理员)都会有一个对应的cron 文件,位于 /var/spool/cron/crontabs/ 目录下,因此table可以简单理解为管理这些用户cron文件的表。需要注意的是不要直接修改用户对应的cron文件,而应该使用 crontab -e 命令修改,因为这样修改保存后,它会立即生效。
Linux定时任务与开机自启动脚本(cron与crontab)的更多相关文章
- linux添加开机自启动脚本示例详解
linux下(以RedHat为范本)添加开机自启动脚本有两种方法,先来简单的; 一.在/etc/rc.local中添加如果不想将脚本粘来粘去,或创建链接什么的,则:step1. 先修改好脚本,使其所有 ...
- linux 开机自启动脚本
在/etc/rc.local文件中添加自启动命令(其中一种方法) 1.案例,就用博主本人之前发的博文 “nginx + flask + uwsgi + centos + python3 搭建web项目 ...
- linux实现开机自启动脚本
Linux下(以RedHat为范本)添加开机自启动脚本有两种方法,先来简单的; 一.在/etc/rc.local中添加如果不想将脚本粘来粘去,或创建链接什么的,则:step1. 先修改好脚本,使其所有 ...
- 红帽linux系统开机自启动脚本。
其实很多东西在最后完成以后会觉得也就那样,有意思的是探究的过程. 前段时间老板要求把一个程序做成linux系统开机自启动脚本的模式. 首先你需要写一个脚本. 我这边建立了一个.sh的脚本,就是用脚本启 ...
- Linux开机自启动脚本的总结
一.在/etc/rc.local中添加 如果不想将脚本粘来粘去,或创建链接什么的, 则: step1. 先修改好脚本,使其所有模块都能在任意目录启动时正常执行; step2. 再在/etc/rc.lo ...
- Centos开机自启动脚本的制作
原文地址:http://www.2cto.com/os/201306/220559.html 我的一个Centos开机自启动脚本的制作 一.切换到/etc/init.d/ 二.制作sh脚本 v ...
- postgresql数据库linux下设置开机自启动
设置PostgreSQL开机自启动PostgreSQL的开机自启动脚本位于PostgreSQL源码目录的contrib/start-scripts路径下cd /opt/soft_bak/postgre ...
- 转载:ubuntu 下添加简单的开机自启动脚本
转自:https://www.cnblogs.com/downey-blog/p/10473939.html linux下添加简单的开机自启动脚本 在linux的使用过程中,我们经常会碰到需要将某个自 ...
- Linux设置程序开机自启动,系统命令chkconfig及linux /etc/rc.d/目录的详解
整理了linux下程序开启几种方式,转载相关博客做统一记录 <linux程序设置开机自启动>转载自:https://www.cnblogs.com/flcz/p/7691532.html ...
随机推荐
- Django项目运行时出现self.status.split(' ',1)[0], self.bytes_sent,ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接。
[02/Nov/2018 09:46:51] "GET /new_industry/category HTTP/1.1" 200 2891792 Traceback (most r ...
- SignalR 跨域解决方案全面
SignalR 分:PersistentConnection和Hub 2种模式. 跨域又分:UseCors和JsonP 2种方法 所以例子写了4种. 核心代码: UseCors //Persiste ...
- c# 对象反射赋值未知属性需类型转换
反射某个类时,对于类的属性,字段.已知有已知的方法,未知有未知的写法. 而SetValues赋值则需要类型转换 情况1,该属性类型是已知类型,例如:int int value=500; propert ...
- sqlServer DataReader与DataSet的区别
sqlServer DataReader与DataSet的区别 从以下这几个方面比较: 1.与数据库连接: DataReader:面向连接,只读,只进,只能向前读,读完数据就断开连接: DataS ...
- poi将图片导入excel(Java代码)
package com.fh.util;import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; imp ...
- python-flask之request的属性
flask的request模块的属性(参考) #代码示例,仅仅是为了测试request的属性值 @app.route('/login', methods = ['GET','POST']) def l ...
- C#委托笔记
参考: 第一篇:http://www.tracefact.net/tech/009.html 第二篇:http://www.tracefact.net/tech/029.html 1.委托相当于一种参 ...
- Java_Ant详解(转载)
Java_Ant详解 1,什么是antant是构建工具2,什么是构建概念到处可查到,形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅与此,但是主要用来干这个3,ant ...
- docker构建mysql容器及Navicat 远程连接
1. MySQL部署 1.1拉取MySQL镜像 docker pull mysql 查看镜像 docker images 1.2创建MySQL容器 首先建立所需要的 文件夹: docker run - ...
- 你必须知道的----C语言笔试面试中经典易错的一些知识点(持续更新)
1. 关于二级指针的解析和引用 1.1 二级指针意义 二级指针存放的是一级指针的地址 Ex: Int a = ; Int *p = &a; Int **q = &p; 1.2 ...