Linux下定时执行命令
2010-05-10 21:33
225 查看
如果想要定时执行任务,需要用到cron,cron 是系统调度进程,可以每分钟、每小时、每天执行。
我们可以通过以下命令控制crom服务:
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
service crond status 查看crond服务的状态
如果不自动启动,在/etc/rc.d/rc.local这个文件里加上启动命令,系统重新启动的时候启动服务
/sbin/service crond start
我们可以使用crontab命令来处理任务
crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数 crontab -u root2 -l
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除某个用户的cron服务, crontab -u root2 -r
crontab -e //编辑某个用户的cron服务, crontab -u root2 -e
我们可以用 crontab -e 命令编辑:
例如 */5 * * * * vnstat -u
完成修改后,按ESC键,然后输入:wq,保存修改并退出
5分钟运行一次vnstat 程序。
前面五个*号代表五个数字表示时间,后面是要执行的命令或者脚本。
时间:
第1列分钟(0-59)
第2列小時 (0-23)
第3列日期 (1-31)
第4列月份 (1-12)
第5列星期 (0-6)//0代表星期天
第6列 要运行的命令
*/2 * * * * top -b -n1 >>/root/top.log 每2分钟把top内容记录到/root/top.log 文件里。
0,10,20,30,40,50 * * * * top -b -n1 >>/root/top.log 每10分钟把top内容记录到/root/top.log 文件里。
0,10,20,30,40,50 * * * * curl http://www.pipc.net/ 每10分钟把访问一下网站, 可以通知网站服务器没有挂, 用于状态监控。
10 22 * * * top -b -n1 >>/root/top.log 每晚的22:10运行
10 12 1,2,3 * * /root/vnstat.sh 每月的1,2,3号的12:10执行/root目录下的 vnstat.sh
10 12 * * 6,0 /root/vnstat.sh 每个星期六和星期日12:10 执行/root目录下的 vnstat.sh
如果你想每20分钟更新一次,就要写成:0,20,40
如果想5分钟更新一次,则要写成0,5,10,15,20,25,30,35,40,45,50,55 或者*/5
0-55/5 * * * * root /usr/bin/vnstat -u -i venet0
0-55/5 * * * * root /root/1.o
*/5 * * * * top -b -n1 >>/root/top.log
*/30 * * * * netstat > /tmp/net.log
"*"、"/"和"-"、","
*代表所有的取值范围内的数字,"/"代表每的意思,"*/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字。
/var/spool/cron 目录里有当前用户的命令, 以用户名称命名的。
crontab -e 命令编辑以后会产生这个文件。
我们可以查看当前文件内容, cat /var/spool/cron/root
cron启动后每过一份钟读一次这个文件,检查是否要执行里面的命令。
因此此文件修改后不需要重新启动cron服务。
有的时候任务不执行是因为没有设定权限照成的,我们可以 chmod +x filename
我们可以不使用crontab -e 编辑, 可以新建立一个文件, 比如pipc.cron 使用 crontab /root/pipc.cron 这样吧pipc.cron的任务导入进来。
crontab /etc/cron.d/vnstat
上面说的是针对用户的任务,还有系统执行的任务。
cat /etc/crontab
-bash-3.2# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
39 * * * * root run-parts /etc/cron.hourly
51 1 * * * root run-parts /etc/cron.daily
42 3 * * 0 root run-parts /etc/cron.weekly
51 5 13 * * root run-parts /etc/cron.monthly
44 3 * * * root /var/qmail/bin/dh_key 2>&1 > /dev/null
-bash-3.2#
可以显示系统每小时、每日、每周和每月的执行的文件。 我们需要每小时、每日、每周和每月执行命令可以放到
/etc/cron.hourly,/etc/cron.daily 文件夹里面。注意这里是文件夹,通过run-parts 执行文件夹里所有的文件。 如果不加run-parts 必须指定到具体文件。
MAILTO=root是执行的情况发送给root用户。
其他执行任务的命令:
nohup命令提交任务,在后台执行任务
at命令,在指定的时间里运行一些特殊作业,这个命令是一次性的
我们可以通过以下命令控制crom服务:
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
service crond status 查看crond服务的状态
如果不自动启动,在/etc/rc.d/rc.local这个文件里加上启动命令,系统重新启动的时候启动服务
/sbin/service crond start
我们可以使用crontab命令来处理任务
crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数 crontab -u root2 -l
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除某个用户的cron服务, crontab -u root2 -r
crontab -e //编辑某个用户的cron服务, crontab -u root2 -e
我们可以用 crontab -e 命令编辑:
例如 */5 * * * * vnstat -u
完成修改后,按ESC键,然后输入:wq,保存修改并退出
5分钟运行一次vnstat 程序。
前面五个*号代表五个数字表示时间,后面是要执行的命令或者脚本。
时间:
第1列分钟(0-59)
第2列小時 (0-23)
第3列日期 (1-31)
第4列月份 (1-12)
第5列星期 (0-6)//0代表星期天
第6列 要运行的命令
*/2 * * * * top -b -n1 >>/root/top.log 每2分钟把top内容记录到/root/top.log 文件里。
0,10,20,30,40,50 * * * * top -b -n1 >>/root/top.log 每10分钟把top内容记录到/root/top.log 文件里。
0,10,20,30,40,50 * * * * curl http://www.pipc.net/ 每10分钟把访问一下网站, 可以通知网站服务器没有挂, 用于状态监控。
10 22 * * * top -b -n1 >>/root/top.log 每晚的22:10运行
10 12 1,2,3 * * /root/vnstat.sh 每月的1,2,3号的12:10执行/root目录下的 vnstat.sh
10 12 * * 6,0 /root/vnstat.sh 每个星期六和星期日12:10 执行/root目录下的 vnstat.sh
如果你想每20分钟更新一次,就要写成:0,20,40
如果想5分钟更新一次,则要写成0,5,10,15,20,25,30,35,40,45,50,55 或者*/5
0-55/5 * * * * root /usr/bin/vnstat -u -i venet0
0-55/5 * * * * root /root/1.o
*/5 * * * * top -b -n1 >>/root/top.log
*/30 * * * * netstat > /tmp/net.log
"*"、"/"和"-"、","
*代表所有的取值范围内的数字,"/"代表每的意思,"*/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字。
/var/spool/cron 目录里有当前用户的命令, 以用户名称命名的。
crontab -e 命令编辑以后会产生这个文件。
我们可以查看当前文件内容, cat /var/spool/cron/root
cron启动后每过一份钟读一次这个文件,检查是否要执行里面的命令。
因此此文件修改后不需要重新启动cron服务。
有的时候任务不执行是因为没有设定权限照成的,我们可以 chmod +x filename
我们可以不使用crontab -e 编辑, 可以新建立一个文件, 比如pipc.cron 使用 crontab /root/pipc.cron 这样吧pipc.cron的任务导入进来。
crontab /etc/cron.d/vnstat
上面说的是针对用户的任务,还有系统执行的任务。
cat /etc/crontab
-bash-3.2# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
39 * * * * root run-parts /etc/cron.hourly
51 1 * * * root run-parts /etc/cron.daily
42 3 * * 0 root run-parts /etc/cron.weekly
51 5 13 * * root run-parts /etc/cron.monthly
44 3 * * * root /var/qmail/bin/dh_key 2>&1 > /dev/null
-bash-3.2#
可以显示系统每小时、每日、每周和每月的执行的文件。 我们需要每小时、每日、每周和每月执行命令可以放到
/etc/cron.hourly,/etc/cron.daily 文件夹里面。注意这里是文件夹,通过run-parts 执行文件夹里所有的文件。 如果不加run-parts 必须指定到具体文件。
MAILTO=root是执行的情况发送给root用户。
其他执行任务的命令:
nohup命令提交任务,在后台执行任务
at命令,在指定的时间里运行一些特殊作业,这个命令是一次性的
相关文章推荐
- Linux 定时执行任务命令: at
- Linux中使用crontab命令定时执行shell脚本或其他Linux命令
- linux crontab定时执行命令
- Linux下的crontab定时执行任务命令详解
- Linux命令之定时执行时间同步
- Linux crontab定时执行任务 命令格式与详细例子
- Linux crontab定时执行任务 命令格式与详细例子
- linux命令之crontab定时执行任务
- Linux下的crontab定时执行任务命令详解
- linux 定时执行任务 at atq atrm命令的使用
- linux之crontab定时执行命令走过的坑坑
- Linux下的crontab定时、执行任务命令详解 oracle 自动备份
- Linux下的crontab定时执行任务命令详解
- Linux下的crontab定时执行任务命令详解
- Linux定时执行任务命令概述:at和crontab
- 【转载】Linux定时执行任务命令概述:at和crontab
- Linux crontab定时执行任务 命令格式与详细例子
- Linux crontab定时执行任务 命令格式与详细例子
- Linux定时执行任务命令:at和crontab
- Linux crontab定时执行任务 命令格式与详细例子