unix定时执行程序

Linux的定时任务详解 Linux的定时任务详解 文章目录一 什么是定时任务?二 控制定时任务三 crontab命令四 实际运用定时任务五 会遇到的问题及解决方法5.1 权限问题5.2 脚本注意问题 一 什么是定时任务? 任务调度的crond常驻命令 crond 是linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。而linux任务调度的工作主要分为以下两类: 1、系统执行的工作:系统周期性所要执行的工作,如备 阅读详情
 转

定时执行程序

  Unix系统提供了cron和at命令,使系统和用户可以定时运行一定的程序,而不需手工启动。

  使用cron用于周期性的执行一个命令,为了使用它,必须编辑crontab文件。系统缺省的/etc/crontab 文件为:

# /etc/crontab - root's crontab for FreeBSD

#
# $Id: crontab,v 1.13 1996/01/06 22:21:37 ache Exp $
# From: Id: crontab,v 1.6 1993/05/31 02:03:57 cgd Exp
#
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
HOME=/var/log
#
#minute hour mday month wday who command
#
*/5 * * * * root /usr/libexec/atrun
#
# rotate log files every hour, if necessary
0 * * * * root /usr/sbin/newsyslog
#
# do daily/weekly/monthly maintenance
0 2 * * * root /etc/daily 2>&1 | sendmail root
30 3 * * 6 root /etc/weekly 2>&1 | sendmail root
30 5 1 * * root /etc/monthly 2>&1 | sendmail root
#
# time zone change adjustment for wall cmos clock,
# does nothing, if you have UTC cmos clock.
# See adjkerntz(8) for details.
1,31 0-4 * * * root /sbin/adjkerntz -a

  在这个crontab文件中首先设置了几个环境变量,cron执行这个文件时先设置这些环境变量,然后按照每列规定的时间来执行相应的命令。第一列为分钟,规定每小时的第几分执行相应的程序,第二列为每天第几小时执行程序,,第三列为每月的第几天,第四列为第几周,第五列为每周的第几天,第六列为执行该文件的用户身份,第七列为要执行的命令。

  普通用户也可以使用crontab命令来创建和维护自己的crontab文件。由于是用户不能更改执行程序的标识的,因此用户的crontab就不需第六列──执行程序的用户身份,而只要直接跟随要执行的命令。使用 “crontab -e” 命令,使用编辑器按照相应的格式编辑自己的crontab文件,或者使用 “crontab -l ” 列出现有crontab文件的内容,当然只有root用户才能查看其他用户的crontab文件:

$ crontab -l

12 0 * * * /home/wb/bin/getfiles

  所有用户的crontab设置文件都放在/var/cron/tabs目录下,文件名与每个用户的用户名相同。cron中的命令执行结果将被系统使用mail寄给每个用户。在/var/cron目录下还有crontab执行的记录文件,系统管理员可以按照这个文件来检查系统安全性,检查是否有影响系统安全的程序被执行。

  与cron不同,at命令用于在一定的时间后或在一定的时刻执行设置好的命令。at命令使用一个时间参数表示何时执行命令,然后就从标准输入中读入要执行的命令,此时就如同在shell下操作一样输入要执行的命令,最后使用^D 退出输入命令的模式。用户不必担心真正执行命令时是否能够找到正确的程序,at会将当前shell的设置,包括环境变量,保留起来,以便在执行命令时创造一个与启动at时完全相同的执行环境。

$ at 1:00am +2days

wget ftp://ftp.cdrom.com/pub/FreeBSD/packages/All/netscape.tgz
^D

  上面命令将在两天后的凌晨1:00时启动进程下载文件,当然at命令并不是十分精确,其执行时间只是表示大概时间,可能与标准时间存在一两分钟的差异。at也支持各种复杂的时间表示方法,可以使用hhmm,hh:mm,或者加上am或pm结尾的12小时制方式。还可以使用年月日,规定程序运行的日期:

$ at 1:00am Mar 5

echo Hello | mail root
^D
Job 5 will be executed using /bin/sh
$ atq
Date Owner Queue Job#
01时00分00秒 00/03/05 root c 5
$ atrm 5

  用户的at程序执行结果也被系统邮寄给该用户,用户可以使用mail来查看程序的输出结果或执行错误。当用户启动at命令之后,可以使用atq命令来查看自己还没有执行的at命令,如果atq是由root执行,则将列出系统中所有没有执行的at命令。然后可以使用atrm命令根据atq输出Job号来删除at作业。

  系统使用/var/at/at.allow和/var/at/at.deny文件来配置可以使用at命令的用户,和不可以使用at命令的用户。其中at.allow的优先权更高,如果存在at.allow,就只允许这个文件中列出的用户使用at,而不考虑任何不在这个文件中列出的用户。因此可以使用一个空at.allow文件禁止所有用户使用at。当不存在at.allow文件的时候,那么凡不在at.deny文件中列出的用户都可以使用at。

36、UNIX系统中的定时程序执行:原理、配置与应用 本文深入介绍了UNIX系统中cron工具的原理、配置与应用,涵盖BSD、System V、SunOS及Linux等不同平台的cron实现差异。详细讲解了crontab文件格式、crontab命令使用方法,并提供了实际应用场景如每日备份和定期清理的配置示例。同时包含故障排查流程与注意事项,帮助系统管理员高效利用cron实现任务自动化,提升系统可靠性与管理效率。 阅读详情

相关推荐

Windows Server 域控搭建:AD DS 规划、部署与排障实战

活动目录(AD DS)是 Windows Server 中用于集中管理账号、计算机与策略的核心目录服务,其底层依赖 DNS、Kerberos 和 LDAP 完成身份认证与资源定位。通过域控制器统一身份、组策略和权限边界,企业可显著降低多机环境下账号维护、权限分配与审计成本。十几到上百台终端、有共享隔离与合规要求的局域网,通常适合部署域控;小规模环境则未必划算。围绕域名规划、DNS 指向、OU 设计、FSMO、备份恢复和常见加域故障,域控搭建与 AD 运维需要兼顾前期规划与长期排障,才能让 Windows S

weixin_33845881的博客 762

freebsd下面crontab定时任务不能自动执行原因排查

昨天晚上配置了两个定时任务,一个root用户,一个普通用户,两个脚本在终端执行都是没有问题的,但是早上上班发现,两个任务都没有自动执行,相当诡异,查看/var/spool,发现cron也没有给我发送邮件,这说明定时任务没有执行。 排查原因,脚本中我的命令路径都是全路径,没有相对路径,shell使用的是c shell,也是没有问题。 于是将我的定时任务设置成每分钟执行一次,看看有没有被调用:...

年岁有加,并非垂老,理想丢弃,方堕暮年 389

国密证书实战:在CentOS 7上构建GmSSL私有CA与完整证书链

本文详细介绍了在CentOS 7操作系统上,使用GmSSL工具构建私有国密证书颁发机构(CA)与完整证书链的实战指南。内容涵盖从部署GmSSL、创建国密根CA、签发服务器与客户端证书,到生产环境安全加固与最佳实践的全流程,旨在帮助系统管理员和安全工程师建立统一、可控的内部国密安全通信体系。

jenkins8butler的博客 496

FreeBSD定时执行程序(cron)(转)

FreeBSD定时执行程序(cron)(转)[@more@]   Unix系统提供了cron和at命令,使系统和用户可以定时运行一定的程序,而不需手工启动。   使用cron用于周期性的执行一个命令,为了使用它,必须编辑cr...

cuiji1279的博客 1538

简单搭建 可视化日志+链路追踪

JAVA 可视化日志、链路追踪、plumeLog、Tlog、Logback

qq_39535439的博客 1204

Keil C51开发必看:详解data/xdata/bdata内存分配陷阱与避坑指南

本文深入解析Keil C51开发中的data/xdata/bdata内存分配陷阱,提供针对51芯片的高效避坑指南。通过真实案例揭示Keil编译器的隐藏规则,分享内存优化策略和调试技巧,帮助开发者解决data溢出、xdata访问异常等典型问题,提升嵌入式开发效率。

v6b7n8m9q0的博客 1072

crontab实例+详解 (附:freebsd每天6点重启)

crontab实例+详解 ########################1######################################crontab功能说明:设置计时器。语  法:crontab [-u ][配置文件] 或 crontab [-u ][-elr]补充说明:cron是一个常驻服务,它提供计时器的功能,让用户在特定的时间得以执行预设的指令或程序。只要用户会编辑计时器的配置文件,就可以使用计时器的功能。其配置文件格式如下:Minute Hour Day Month DayOFWe

shao.bing的专栏 2万+

C#精准获取Windows已安装应用清单的完整方案

Windows已安装应用识别是IT资产管理、安全合规与自动化运维的基础能力。其核心原理在于突破文件系统表象,以注册表为可信数据源,分层解析HKLM/HKCU、64位/32位视图及MSI Products路径中的元数据。技术价值体现在可验证(如过滤SystemComponent=1)、可关联(通过ProductCode绑定补丁与许可证)、可操作(启动路径二次验证+卸载命令沙箱执行)。典型应用场景包括终端合规审计、软件资产清查、静默卸载脚本开发及多版本应用聚合分析。本文聚焦C#原生实现,覆盖注册表四路采集、La

weixin_33552698的博客 636

CRONTAB使用介绍

常用命令举例: crontab [-u user] file crontab [-u user] [ -e | -l | -r ] (default operation is replace, per 1003.2) -e (edit user's crontab) -l (list user's crontab) -r (delete user's crontab) -i (p

空灵游侠 514

【异常】安装hermes-agent时Git克隆大仓库报错:error: RPC failed; curl 92 HTTP/2 stream 5 was not closed cleanly: CAN

摘要:本文分析了Ubuntu服务器执行Git递归克隆时出现的网络传输中断错误(HTTP/2流异常关闭、数据截断)。主要原因是网络限制、协议兼容问题和缓冲区不足。提供了四种解决方案:1)扩大Git HTTP缓冲区;2)切换为HTTP/1.1协议;3)采用浅克隆+分步拉取子模块;4)网络优化措施。重点推荐浅克隆分步拉取作为最有效方案,所有方法无需重启即可生效,可快速解决大仓库递归克隆失败问题。

奶爸的编程之路,也就一周冷个三天 670

华为OD新系统机试真题 2026.5.10 - 美观的灯笼

华为OD新系统机试真题【美观的灯笼】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【美观的灯笼】

qq_45776114的博客 643

FreeBSD定时执行程序(cron)

        来自:http://www.verydemo.com/demo_c170_i10809.html

iteye_17799的博客 1053

深度学习在移动开发中的应用:实时姿态估计实战

我们将使用TensorFlow Lite框架,结合专为移动端优化的MoveNet模型,实现一个能够在主流Android设备上达到30FPS的多人姿态跟踪解决方案,并深入探讨其优化技巧和实际应用场景。特别是3D姿态估计、多人长期跟踪等前沿技术的发展,将进一步推动移动端姿态估计技术的应用深度和广度。在下一篇文章中,我们将探讨深度学习在移动端的另一个创新应用:实时手势识别,包括如何在资源受限的环境中实现复杂手势的实时识别,以及这项技术在AR/VR交互、智能家居控制等场景中的应用。第四部分:典型应用场景实现。

Programming Talk 325

【linux】crontab指南

crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。

欢迎指错||纠正||建议||水评+点赞&&评论&&关注&&转发 6186

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

linux命令-- Unix crontab at 定时任务命令 .

Unix系统提供了cron和at命令,使系统和用户可以定时运行一定的程序,而不需手工启动。 普通用户也可以使用crontab命令来创建和维护自己的crontab文件。由于是用户不能更改执行程序的标识的,因此用户的crontab就不需第六列──执行程序的用户身份,而只要直接跟随要执行的命令。使用 “crontab -e” 命令,使用编辑器按照相应的格式编辑自己的crontab文件,或者使用 “cr

FreshBreeze的专栏 636

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Linux/Unix下设置定时任务

转自:http://www.taobaotest.com/blogs/qa?bid=9189#more-9189 Unix系统提供了cron和at命令,使系统和用户可以定时运行一定的程序,而不需手工启动。 使用cron用于周期性的执行一个命令,为了使用它,必须编辑crontab文件。系统缺省的/etc/crontab 文件为: 为当前用户创建cron服务 1. 键入 cr...

depe16540458的博客 136

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Unix crontab at 定时任务命令

Unix系统提供了cron和at命令,使系统和用户可以定时运行一定的程序,而不需手工启动。 普通用户也可以使用crontab命令来创建和维护自己的crontab文件。由于是用户不能更改执行程序的标识的,因此用户的crontab就不需第六列──执行程序的用户身份,而只要直接跟随要执行的命令。使用 “crontab -e” 命令,使用编辑器按照相应的格式编辑自己的crontab文件,或者使用 “cr

润明--oracle--unix-IT技术专栏 2810

Linux定时执行程序和关闭程序

crontab是一个强大的工具,可以帮助你自动化定时任务。在编辑 crontab 文件时,确保格式正确并且任务路径和权限设置正确,以确保任务按预期运行。

C or CPP 1370

linux的自动任务创建

近期要在客户的服务器上实行计划执行程序,就是要定好每天的什么时候,执行什么程序。 具体的要求如下: 1、每周一至六晚上八点自动执行数据备份操作 2、每月1号晚上零晨自动执行数据据备份操作 3、每周一至六晚上八点半自动执行一程序,进行数据库数据录入工作 起初没啥概念,后来在有经验...

chuifuhuo6864的博客 148

定时执行程序

http://203.208.39.132/search?q=cache:mst7iC_w9PwJ:www.linuxdiyf.com/viewarticle.php%3Fid%3D26506+linux+at%E5%AE%9A...

cuichao5297的博客 371

Linux定时执行程序--Crontab

近期要在客户的服务器上实行计划执行程序,就是要定好每天的什么时候,执行什么程序。 具体的要求如下: 1、每周一至六晚上八点自动执行数据备份操作 2、每月1号晚上零晨自动执行数据据备份操作 3、每周一至六晚上八点半自动执行一程序,进行数据库数据录入工作   起初没啥概念,后来在有经验的同事指导下,开始有所了解 每个用户都有各自不同的计划任务列表,用各自的帐户登录后运行 crontab -l 就可查看...

爱工作,爱生活 399

Linux 指令心法(十八)`crontab` 定期执行程序

Crontab是一个用于定期执行程序的命令,常见于Unix和类Unix的操作系统中。它允许用户在固定的时间或间隔内执行特定的任务,类似于一个用户的时程表。使用Crontab命令设置定时任务,定期执行系统维护脚本或命令。使用Crontab命令设置定时任务,定期执行清理脚本或命令。使用Crontab命令设置定时任务,定期执行发送报告的脚本或命令。使用Crontab命令设置定时任务,定期执行备份脚本或命令。定时发送报告给相关人员是很常见的需求,可以自动化发送报告,提高工作效率。表示在每天的1点执行该命令。

weixin_43564241的博客 1039
上一篇: JfreeChart用法介绍转文-待总结
下一篇: java虚拟机时区控制(转)
utopia_wang
博客等级 码龄20年 7粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值