定时执行脚本 Linux 定时执行shell 脚本

11/28 03:28:20 来源网站:seo优化-辅助卡盟平台

定时执行脚本 Linux 定时执行shell 脚本

2019年第 85 篇文章,总第 109 篇文章

本文大约2000字,阅读大约需要6分钟

crontab 可以在指定的时间执行一个shell脚本以及执行一系列 Linux 命令。

定时执行shell 脚本

简单给出执行 shell 脚本的步骤。

首先是编写一个测试脚本--test.sh

# 创建脚本
$ vim test.sh
# 在脚本中做写入文件操作
date >> data.txt

修改脚本的权限,确保脚本有执行的权限

chmod 777 test.sh

设置 crontab 定时任务

# 打开定时任务配置文件
crontab -e
# 在配置文件中写入定时任务的操作, 这里就是指定每天12点定时执行脚本,并把执行脚本的日志写入文件 test.log
0 12 * * * sh test.sh > test.log

保存退出,也就是 :wq

如果有错定时执行脚本,linux 会在执行的时候发送一份邮件给你

cat /var/spool/mail/root

注意:

crontab 是运行在系统默认环境里辅助卡盟,如果运行的脚本是执行 python 代码,即脚本的内容可能是:

python test.py

这里的 python 会是系统默认的 python 版本,而如果你是运行在 conda 环境里,那么这里就需要采用当前环境里 python 版本的执行文件的绝对路径,即先用以下命令查找当前 python 版本的执行文件位置:

$ which python
# 假设输出的文件位置为:
/root/anaconda3/py3/bin/python

这里输出的路径,直接替换脚本里的 python:

/root/anaconda3/py3/bin/python test.py

这样才能保证运行不出错,否则可能因为版本问题出错;

crontab命令详解 常用命令

crontab –e     //修改 crontab 文件,如果文件不存在会自动创建。
crontab –l      //显示 crontab 文件。
crontab -r      //删除 crontab 文件。
crontab -ir     //删除 crontab 文件前提醒用户。
service crond status     //查看crontab服务状态
service crond start     //启动服务 
service crond stop     //关闭服务 
service crond restart     //重启服务 
service crond reload     //重新载入配置

所以如果需要取消某个定时任务定时执行脚本,就是可以删除在配置文件中的对应命令,即 crontab -e 打开文件,然后删除对应哪行的命令即可

基本格式

*  *  *  *  *  command
分  时  日  月  周   命令

第1列表示分钟 00~59 每分钟用*或者 */1表示

第2列表示小时 00~23(0表示0点)

第3列表示日期 01~31

第4列表示月份 01~12

第5列标识号星期 0~6(0表示星期天)

第6列要运行的命令

此外每一列除了数字,还可以有这些符号,其含义如下所示:

*        代表任何时间,比如第一个 * 就代表一小时中的每分钟都执行
,        代表不连续的时间,比如 0 8,12,16 * * * 代表每天8,12,16点0分执行
-        代表连续的时间范围,比如0 5 * * 1-6 代表在周一到周六凌晨5点0分执行
*/n     代表每个多久执行一次,比如*/10 * * * *代表每隔10分钟执行一次

相关教程

更多>
    暂无相关资讯
定时执行脚本 Linux 定时执行shell 脚本