- 浏览: 222148 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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 2941wget是linux下命令行的下载工具,功能很强大。 ... -
用wget爬取网站
2011-04-26 14:10 4015下载单独页面: wget xxx.com/a.htm 下 ... -
从 screen 切换到 tmux
2011-04-17 12:12 1365对于各个终端控来说,screen 是几乎每天都会使用的 ... -
linux下远程管理利器-tmux
2011-04-01 20:07 1179在使用无论哪种软件 ... -
Linux 下常用的 CLI 软件
2011-04-01 19:56 982作为Linuxer,必须具备一定的CLI操作能力。有时候用 ... -
Vi删除操作大全
2011-04-01 15:04 810:%s/r//g ... -
在Linux系统下递归删除文件或目录的方法
2011-03-23 15:30 1069在linux下没有类似DOS下 del/s *.dep 的 ... -
Linux中如何让进程在后台运行
2011-03-23 11:11 925在Linux中,如果要 ... -
我的Linux书架
2011-01-28 22:59 831入门类 一直认为,在 ... -
Linux系统信息查看命令大全
2010-09-03 14:05 834系统 # uname -a ... -
linux下解压命令大全
2010-09-03 14:02 796.tar 解包:tar xvf FileName.tar ... -
最牛B的 Linux Shell 命令(四)
2010-09-01 13:58 11211.查看ASCII码表 man 7 ascii ... -
使用grep恢复被删文件内容
2010-08-24 16:24 825在Unix/Linux下,最危险的命令恐怕就属rm命令了,每次 ... -
最牛B的 Linux Shell 命令(三)
2010-08-23 17:40 11341. 更友好的显示当前挂 ... -
最牛B的 Linux Shell 命令(二)
2010-08-23 16:57 9111.用你最喜欢的编辑器来敲命令 command < ... -
最牛B的 Linux Shell 命令(一)
2010-08-20 15:11 9781.以SUDO运行上条命令 $ s ... -
Cygwin 的轻量级替代品 Gow: 可让你在 Windows 上使用 Linux 命令
2010-08-20 11:09 1228如果你是 Linux 及 Windows 的双料用户,而且是深 ... -
第二部分 Linux 文件、目录与磁盘格式 - Chapter 9 文件的压缩与打包
2009-08-24 16:45 949Chapter 9 文件的压缩与打 ... -
第二部分 Linux 文件、目录与磁盘格式 - Chapter 7 Linux文件和目录管理
2009-08-19 17:46 1118# 目录与路径 * 相对路径与绝对路径 (略) ... -
第二部分 Linux 文件、目录与磁盘格式 - Chapter 6 linux的文件属性与目录配置
2009-08-10 14:42 1197# 文件属性 Linux 文件的基本属性就有九个,分别是 o ...
相关推荐
cron是Linux系统中用于定时执行任务的守护进程,它允许用户在指定时间或周期性地执行脚本或命令。本文将详细介绍如何在Linux系统中使用cron来设置和管理定时任务,包括cron的工作原理、配置方法、实际应用以及一些...
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" ...
Linux Cron表达式是一种在Unix和类Unix系统中用于调度任务的机制,它允许用户或系统管理员定义周期性任务的执行时间。Cron表达式由六个或七个由空格分隔的字段组成,每个字段代表一个时间维度:秒、分钟、小时、日期...
Erlang Cron的实现支持所有标准cron字段(分钟,小时,每月的某天,每月,一周的某天)和符号:*,-/ 在Erlang / OTP 18,Erlang / OTP 19,Erlang / OTP 20上测试; 钢筋/钢筋3。编译$ rebar compileEUnit测试$ ...
### Linux计划任务Cron详解及应用 #### 一、Cron简介 Cron是Linux系统中用于调度周期性任务的守护进程(Daemon),允许用户在固定时间或周期性地执行命令或脚本。通过Cron,用户可以设定复杂的定时任务,如定期...
由于提供的内容中仅包含标题、描述、标签和下载链接的重复信息,并没有具体到Linux和UNIX Shell程序设计的技术细节,因此无法直接从这部分内容中提取出符合要求的知识点。为了满足您的要求,我将基于标题和标签中...
在Unix和Linux操作系统中,Cron是一个非常重要的定时任务调度工具,它允许用户预先设置一系列的时间计划,以便在特定的时间点执行指定的命令或脚本。Cron是系统守护进程,通常在系统启动时自动运行,以确保定时任务...
该工具包名为NLP2Cron,采用Purebasic和Java混合编程语言开发,包含22个文件,其中包括10个Java源文件、2个Markdown文档、2个JSON配置文件、2个Purebasic源文件、1个Git忽略文件、1个许可证文件、1个XML文件、1个...
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事件,并...
《LINUX与UNIX+Shell编程指南》是一本深入浅出的教程,专为那些希望掌握LINUX和UNIX操作系统以及Shell编程技术的读者设计。在LINUX和UNIX系统中,Shell作为用户与操作系统交互的主要工具,它的强大功能和灵活性使得...
9. **包管理和软件安装**:在Linux中,`apt`或`yum`用于安装软件包,而在Unix中,可能使用`pkg_add`或`portinstall`。 10. **其他高级功能**:如`find`查找文件,`cron`设置定时任务,`ssh`进行远程登录等。 通过...
CRON是Unix/Linux系统中广泛使用的定时任务调度工具,通过特定的语法来定义周期性的任务。cron4s库使得在Scala环境下,无论是JVM还是Scala.js平台上,都能轻松地处理这些表达式。 ### 1. CRON表达式详解 CRON表达式...
cron解析器 具有时区支持的cron表达式解析库。 例子: use chrono::{TimeZone, Utc};use chrono_tz::Europe::Lisbon;use cron_parser::parse;fn main() { if let Ok(next) = parse("*/5 * * * *", &Utc::now()) { ...
howto:我制作的各种HowTo文档的垃圾场
在IT领域,Linux和Unix操作系统以其稳定性和强大的命令行接口而闻名,而Shell则是它们的命令解释器,同时也是强大的编程工具。"LINUX与UNIX SHELL编程指南"这本书旨在教授读者如何有效地利用Shell进行编程和系统管理...
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 ...
Cron描述符 掌握: 全部: 一个将cron表达式转换为人类可读字符串的Python库。 从移植到Python。 作者:亚当·舒伯特(Adam Schubert)( ) 原始作者和信誉:Brady Holt( ) 执照: 特征 支持所有cron表达式...
Cron表达式是一种广泛用于计划任务调度的工具,它源于Unix系统,现在也被许多其他操作系统和编程语言支持,包括Java、Python、Node.js等。这种表达式定义了一种时间格式,用于描述周期性的任务执行时间。 Cron...
WinForm Cron表达式生成器 Quartz.Net Cron表达式生成器winform版 最近使用Quartz.net做了几个同步任务,感觉非常好。表达式设置也是非常灵活,但是新入手发现对表达式不熟,每次都要使用在线生成器。 于是写...