- 浏览: 215472 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (144)
- Python (6)
- Java (15)
- Project management (2)
- DB (11)
- Spring (1)
- Mobile (3)
- 互联网 (10)
- Maven (2)
- SCM (5)
- linux (24)
- Mac (14)
- UCD / UED (6)
- Tools (1)
- Test (1)
- iPhone (1)
- 新产品&新工具 (8)
- OAuth (4)
- Java Script (5)
- HTML5 (2)
- Lucene / Solr (7)
- nginx (1)
- Product Manager (1)
- Design (1)
- Office (1)
- RegExp (0)
- 性能调优 (2)
- 读书笔记 (2)
- NodeJs (2)
最新评论
-
410163269:
看不清楚 蛋疼
基于 OAuth 安全协议的 Java 应用编程 -
xufun:
路过,拜读学习了。谢谢!
未来的授权标准 -- OAuth 2.0 -
xufun:
好文!路过拜读了,谢谢!
NoSQL - CouchDB入门 -
mimicom:
牛b......
最牛B的 Linux Shell 命令(三) -
as3291363:
你有一些 中文資料嗎????
Java Script 代码生成器: CoffeeScript
How do I add cron job under Linux or UNIX like operating system?
原文: http://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/
Cron job are used to schedule commands to be executed periodically. You can setup setup commands or scripts, which will repeatedly run at a set time. Cron is one of the most useful tool in Linux or UNIX like operating systems. The cron service (daemon) runs in the background and constantly checks the /etc/crontab file, /etc/cron.*/ directories. It also checks the /var/spool/cron/ directory.
crontab is the command used to install, deinstall or list the tables (cron configuration file) used to drive the cron daemon in Vixie Cron. Each user can have their own crontab file, and though these are files in /var/spool/cron/crontabs, they are not intended to be edited directly. You need to use crontab command for editing or setting up your own cron jobs.
Different Types of cron Configuration
There are two different types of configuration files:
The UNIX / Linux system crontab : Usually, used by system services and critical jobs that requires root like privileges. The sixth field (see below for field description) is the name of a user for the command to run as. This gives the system crontab the ability to run commands as any user.
The user crontabs: User can installer their own jobs using the crontab command. The sixth field is the command to run, and all commands run as the user who created the crontab
How Do I Install / Create / Edit My Own Cronjobs?
To edit your crontab file, type the following command at the UNIX / Linux shell prompt:
$ crontab -e
Syntax of crontab (Field Description)
Your cron job looks as follows for user jobs:
1 2 3 4 5 /path/to/command arg1 arg2
OR
1 2 3 4 5 /root/backup.sh
Where,
1: Minute (0-59)
2: Hours (0-23)
3: Day (0-31)
4: Month (0-12 [12 == December])
5: Day of the week(0-7 [7 or 0 == sunday])
/path/to/command - Script or command name to schedule
Easy to remember format:
* * * * * command to be executed
- - - - -
| | | | |
| | | | ----- Day of week (0 - 7) (Sunday=0 or 7)
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)
Your cron job looks as follows for system jobs:
1 2 3 4 5 USERNAME /path/to/command arg1 arg2
OR
1 2 3 4 5 USERNAME /path/to/script.sh
Example: Install Backup Job Script
If you wished to have a script named /root/backup.sh run every day at 3am, your crontab entry would look like as follows. First, install your cronjob by running the following command:
# crontab -e
Append the following entry:
0 3 * * * /root/backup.sh
Save and close the file.
More Examples
To run /path/to/command five minutes after midnight, every day, enter:
5 0 * * * /path/to/command
Run /path/to/script.sh at 2:15pm on the first of every month, enter:
15 14 1 * * /path/to/script.sh
Run /scripts/phpscript.php at 10 pm on weekdays, enter:
0 22 * * 1-5 /scripts/phpscript.php
Run /root/scripts/perl/perlscript.pl at 23 minutes after midnight, 2am, 4am ..., everyday, enter:
23 0-23/2 * * * /root/scripts/perl/perlscript.pl
Run /path/to/unixcommand at 5 after 4 every Sunday, enter:
5 4 * * sun /path/to/unixcommand
How Do I Use Operators?
An operator allows you to specifying multiple values in a field. There are three operators:
The asterisk (*) : This operator specifies all possible values for a field. For example, an asterisk in the hour time field would be equivalent to every hour or an asterisk in the month field would be equivalent to every month.
The comma (,) : This operator specifies a list of values, for example: "1,5,10,15,20, 25".
The dash (-) : This operator specifies a range of values, for example: "5-15" days , which is equivalent to typing "5,6,7,8,9,....,13,14,15" using the comma operator.
How Do I Disable Email Output?
By default the output of a command or a script (if any produced), will be email to your local email account. To stop receiving email output from crontab you need to append >/dev/null 2>&1. For example:
0 3 * * * /root/backup.sh >/dev/null 2>&1
To mail output to particular email account let us say vivek@nixcraft.in you need to define MAILTO variable to your cron job:
MAILTO="vivek@nixcraft.in"
0 3 * * * /root/backup.sh >/dev/null 2>&1
Task: List All Your crontab Jobs
Type the following command :
# crontab -l
# crontab -u username -l
To remove or erase all crontab jobs use the following command:
# crontab -r
crontab -r -u username
Use special string to save time
Instead of the first five fields, you can use any one of eight special strings. It will not just save your time but it will improve readability.
Special string Meaning
@reboot Run once, at startup.
@yearly Run once a year, "0 0 1 1 *".
@annually (same as @yearly)
@monthly Run once a month, "0 0 1 * *".
@weekly Run once a week, "0 0 * * 0".
@daily Run once a day, "0 0 * * *".
@midnight (same as @daily)
@hourly Run once an hour, "0 * * * *".
Run ntpdate every hour:
@hourly /path/to/ntpdate
Make a backup everyday:
@daily /path/to/backup/script.sh
Understanding /etc/crontab file and /etc/cron.d/* directories
/etc/crontab is system crontabs file. Usually only used by root user or daemons to configure system wide jobs. All individual user must must use crontab command to install and edit their jobs as described above. /var/spool/cron/ or /var/cron/tabs/ is directory for personal user crontab files. It must be backup with users home directory.
Understanding Default /etc/crontab
Typical /etc/crontab file entries:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
First, the environment must be defined. If the shell line is omitted, cron will use the default, which is sh. If the PATH variable is omitted, no default will be used and file locations will need to be absolute. If HOME is omitted, cron will use the invoking users home directory.
(3)
Additionally, cron reads the files in /etc/cron.d/ directory. Usually system daemon such as sa-update or sysstat places their cronjob here. As a root user or superuser you can use following directories to configure cronjobs. You can directly drop your scripts here. run-parts command run scripts or programs in a directory via /etc/crontab
Directory Description
/etc/cron.d/ Put all scripts here and call them from /etc/crontab file.
/etc/cron.daily/ Run all scripts once a day
/etc/cron.hourly/ Run all scripts once an hour
/etc/cron.monthly/ Run all scripts once a month
/etc/cron.weekly/ Run all scripts once a week
How do I Use Above Directories To Put My Scripts?
Here is a sample shell script (clean.cache) to clean up cached files every 10 days. This script is directly created at /etc/cron.daliy/ directory i.e. create a file called /etc/cron.daily/clean.cache:
#!/bin/bash
# A sample shell script to clean cached file from lighttpd web server
CROOT="/tmp/cachelighttpd/"
DAYS=10
LUSER="lighttpd"
LGROUP="lighttpd"
# start cleaning
/usr/bin/find ${CROOT} -type f -mtime +${DAYS} | xargs -r /bin/rm
# if directory deleted by some other script just get it back
if [ ! -d $CROOT ]
then
/bin/mkdir -p $CROOT
/bin/chown ${LUSER}:${LGROUP} ${CROOT}
fi
How Do I Backup Installed Cronjobs Entries?
Simply type the following command to backup your cronjobs to a nas server mounted at /nas01/backup/cron/users.root.bakup directory:
# crontab -l > /nas01/backup/cron/users.root.bakup
# crontab -u userName -l > /nas01/backup/cron/users.userName.bakup
发表评论
-
wget下载网站目录下的所有文件
2011-04-26 14:18 2895wget是linux下命令行的下载工具,功能很强大。 ... -
用wget爬取网站
2011-04-26 14:10 3960下载单独页面: wget xxx.com/a.htm 下 ... -
从 screen 切换到 tmux
2011-04-17 12:12 1328对于各个终端控来说,screen 是几乎每天都会使用的 ... -
linux下远程管理利器-tmux
2011-04-01 20:07 1124在使用无论哪种软件 ... -
Linux 下常用的 CLI 软件
2011-04-01 19:56 936作为Linuxer,必须具备一定的CLI操作能力。有时候用 ... -
Vi删除操作大全
2011-04-01 15:04 773:%s/r//g ... -
在Linux系统下递归删除文件或目录的方法
2011-03-23 15:30 1022在linux下没有类似DOS下 del/s *.dep 的 ... -
Linux中如何让进程在后台运行
2011-03-23 11:11 880在Linux中,如果要 ... -
我的Linux书架
2011-01-28 22:59 781入门类 一直认为,在 ... -
Linux系统信息查看命令大全
2010-09-03 14:05 789系统 # uname -a ... -
linux下解压命令大全
2010-09-03 14:02 758.tar 解包:tar xvf FileName.tar ... -
最牛B的 Linux Shell 命令(四)
2010-09-01 13:58 10781.查看ASCII码表 man 7 ascii ... -
使用grep恢复被删文件内容
2010-08-24 16:24 787在Unix/Linux下,最危险的命令恐怕就属rm命令了,每次 ... -
最牛B的 Linux Shell 命令(三)
2010-08-23 17:40 10941. 更友好的显示当前挂 ... -
最牛B的 Linux Shell 命令(二)
2010-08-23 16:57 8601.用你最喜欢的编辑器来敲命令 command < ... -
最牛B的 Linux Shell 命令(一)
2010-08-20 15:11 9341.以SUDO运行上条命令 $ s ... -
Cygwin 的轻量级替代品 Gow: 可让你在 Windows 上使用 Linux 命令
2010-08-20 11:09 1122如果你是 Linux 及 Windows 的双料用户,而且是深 ... -
第二部分 Linux 文件、目录与磁盘格式 - Chapter 9 文件的压缩与打包
2009-08-24 16:45 908Chapter 9 文件的压缩与打 ... -
第二部分 Linux 文件、目录与磁盘格式 - Chapter 7 Linux文件和目录管理
2009-08-19 17:46 1078# 目录与路径 * 相对路径与绝对路径 (略) ... -
第二部分 Linux 文件、目录与磁盘格式 - Chapter 6 linux的文件属性与目录配置
2009-08-10 14:42 1157# 文件属性 Linux 文件的基本属性就有九个,分别是 o ...
相关推荐
How to schedule and automate jobs using cron. How to switch users and run processes as others. Where to go for even more in-depth coverage on each topic. What you learn in "Linux for Beginners" ...
Erlang Cron的实现支持所有标准cron字段(分钟,小时,每月的某天,每月,一周的某天)和符号:*,-/ 在Erlang / OTP 18,Erlang / OTP 19,Erlang / OTP 20上测试; 钢筋/钢筋3。编译$ rebar compileEUnit测试$ ...
Lambdacd-Cron cron触发器。 地位 用法 在project.clj中添加 :dependencies [[lambdacd-cron " <most> " ]] 将以下代码添加到管道代码的import语句中 ( :require [lambdacd-cron.core :as lambdacd-cron]) 以下...
Cron控制 贡献者:自动的,狂热的标签: cron,cron控制,并发,并行,异步至少需要: 4.4 经过测试: 5.0 需要PHP: 7.0 稳定标签: 2.0 许可证: GPLv2或更高版本许可URI: : 并行执行WordPress cron事件,并...
cron4s:Scala的跨平台CRON表达式解析
howto:我制作的各种HowTo文档的垃圾场
3.1 cron和crontab 22 3.1.1 crontab的域 22 3.1.2 crontab条目举例 23 3.1.3 crontab命令选项 23 3.1.4 创建一个新的crontab文件 24 3.1.5 列出crontab文件 24 3.1.6 编辑crontab文件 24 3.1.7 删除crontab文件 25 ...
WinForm Cron表达式生成器 Quartz.Net Cron表达式生成器winform版 最近使用Quartz.net做了几个同步任务,感觉非常好。表达式设置也是非常灵活,但是新入手发现对表达式不熟,每次都要使用在线生成器。 于是写...
Cron服务 cron是Linux系统下一个自动执行指定任务的程序. cron服务要通过命令启动和停止,在Linux上可以通过/etc/init.d/crond脚本启动或停止. cron的配置方式 编辑/var/spool/cron目录下文件 /var/spool/cron目录下...
pcron / pcrontab与cron / crontab相似,后者是Linux / Unix的标准执行/计划工具。 pcron / pcrontab是为不允许常规使用cron的系统创建的。 任何人都可以使用pcron / pcrontab。 pcrontab pcrontab是用于定义作业...
linux 计划任务cron--教你怎么定时执行的指令
http://你的网站/cron/zan.cron.php?cron=识别码&n=1 http://你的网站/cron/zan.cron.php?cron=识别码&n=2 http://你的网站/cron/zan.cron.php?cron=识别码&n=3 http://你的网站/cron/zan.cron.php?cron=识别码&n=4 ...
Quartz中的cron-like表达式解析 cron-like unix-like c#
Linux定时任务系统Cron入门,详细介绍LINUX的crontab和设置。
vue-cron这是一个cron表达式生成插件,基于vue与element-ui实现依赖Vue 2.0.0+element-ui 2.0.0+安装方式npm install vue-cron引入方式//前置配置import Vue from 'vue'import ElementUI from 'element-ui';...
对linux / unix cronjob语法的支持有限。 安装方式: 将文件夹复制到Web服务器上。 确保在logs文件夹上设置写权限。 如果您PHP二进制文件不在/ usr / bin /下,请在runner.php中设置PHP路径。 在您经常执行的...
Cron是Linux下非常实用的一个功能,而Windows下如果使用计划任务来实现Cron类似功能,在配置上则麻烦许多。 早前笔者在网上发现Pycron这款小程序,可以作为Windows的服务运行,并且支持自定义Cron配置文件路径,...
Usage of go-cron: -cpu=4: maximum number of CPUs -file="crontab": crontab file path $ docker run go-cron -file=crontab 2015/06/18 07:53:38 Add cron job spec:*/1 * * * * cmd:echo "hello world!" err...
SKEDULORD: helps with cronjobs and logs.Options: --help Show this message and exit.Commands: schedule Set (or reset) cron jobs based on config. run Run a single command, which is logged
将可执行脚本添加到适当的cron目录(例如/etc/cron.daily )并启用systemd-cron: # systemctl daemon-reload # systemctl enable cron.target # systemctl start cron.target 该项目还包括等效的简单crontab命令,...