明天给诸位分享linux怎么查看定时器的知识linux 查看crontab是否运行,其中也会对Linux查看定时进行解释,倘若能偶然解决你如今面临的问题,别忘了关注本站linux 安装,现今开始吧!
本文目录一览:linux定时任务如何晓得是好的
1、针对Linux系统的查询方式(含Redhat、SUSE)看/var/log/cron这个文件就可以,可以用tail-f/var/log/cron观察22、针对UINX系统查询方式(AIX、HP-UX)在/var/spool/cron/tmp文件中,有croutXXX00999的tmp文件,tail那些文件就可以看见正在执行的任务了。33.mail任务(LinuxUNIX)在/var/spool/mail/root文件中,有crontab执行日志的记录,用tail-f/var/spool/mail/root即可查看近来的crontab执行情况。
有没有办法可以获取linux开发板的硬件定时器频度
有的。
具体步骤:
1、默认情况下系统节拍率选择100Hz。
2、设置好后在Linux内核源码根目录下的config文件中可见系统节拍率被设置为100Hz。
3、Linux内核会使用CONFIGHZ来设置自己的系统时钟,文件includeasmgenericparamh。
Linux内核使用全局变量jiffies来记录系统从启动以来的系统节拍数,系统启动的时侯会将jiffies。
Linux设置定时任务
《使用PSSH批量管理Linux》一文中,早已学习了使用pssh批量管理linux的方法。而好多时侯,我们须要定时执行一些任务,或则须要定时执行一些批量任务。因而,本文就来研究一下linux设置定时任务的方式。
主要参考LinuxCrontab定时任务、Linux定时任务Crontab命令解读和Linux定时任务解读。
cron(crond)是linux下拿来周期性的执行某种任务或等待处理个别风波的一个守护进程。linux系统里面本来就有特别多的计划性工作,因而这个系统服务是默认启动的。crond进程每分钟会定期检测是否有要执行的任务,假如有要执行的任务,则手动执行该任务。另外,因为使用者自己也可以设置计划任务,所以,linux系统也提供了使用者控制计划任务的命令:crontab命令。
crontab命令是crontable的缩写,它是cron的配置文件,也可以叫它作业列表,我们可以在以下文件夹内找到相关配置文件。
linux下的任务调度分为两类,系统任务调度和用户任务调度。
系统任务调度:系统周期性所要执行的工作,例如写缓存数据到硬碟、日志清除等。/etc/crontab文件就是系统任务调度的配置文件。
用户任务调度:用户定期要执行的工作,例如用户数据备份、定时短信提醒等。用户可以使用crontab工具来订制自己的计划任务。所有用户定义的crontab文件都被保存在/var/spool/cron/crontabs/目录中,其文件名与用户名一致。
假定我们使用的是Ubuntu14.04.5Server版,查看/etc/crontab,内容为:
第一行SHELL变量指定了系统要使用那个shell;第二行PATH变量指定了系统执行命令的路径。
接出来的命令格式为:
mhdommondowusercommand
英语简拼为:
minutehourdaymonthweekusercommond
注意,/var/spool/cron目录中的用户调度任务,没有user一项,由于文件名早已代表了user。
在以上各个数组中,还可以使用以下特殊字符:
crontab命令格式为:
crontab[-uusername][file][-e|-l|-r]
设置定时任务和时间紧密相关,假如服务器的时区时间设置和本地不同,就不能保证计划任务的正确执行。所以使用crontab的第一步linux系统界面,是调节好服务器的时间。
下边参考Ubuntu16.04将系统时间写入到硬件时间BIOS,对服务器时间进行调节。
时间是有时区的,无论硬件时间还是操作系统时间。hwclock的时区在/etc/default/rcS文件中设置,上面有一个参数UTC,默认值为yes,表示使用UTC时区,假如设置为no,那表示使用osclock的时区。建议hwclock与osclock设置相同的时区,也就是no。
1、查看服务器硬件时间
sudohwclock-r,看见的时间格式为:Wed23May201811:02:17AMHKT-0.031663seconds
2、查看服务器系统时间
date,看见的时间格式为:WedMay2311:02:41HKT2018
3、设置hwclock和osclock时区相同
sudovim/etc/default/rcS,找到:
更改为:
4、将系统时间写入硬件时间
sudohwclock-w
5、修改系统时区
osclock的时区配置文件为/etc/timezone,不建议直接更改配置文件。
假如你想更改为CST时间,这么执行sudotzselect命令时,选择Asia-China-BeijingTime即可,这时会提示使用Asia/Shanghai时区。(ubuntu和centos通用)
6、设置即刻生效
执行date,发觉时区没有变化,仍然是HKT。
sudocp/usr/share/zoneinfo/Asia/Shanghai/etc/localtime
sudontpdate
倘若执行ntpdate报错:ntpdate[18409]:noserversuitableforsynchronizationfound,这么就换一个时间同步工具。
sudoapt-getinstallrdate
sudordate-s
再度执行date,发觉时区早已弄成了CST。
7、硬件时间同步
sudohwclock-r,发觉硬件时间落后。
sudohwclock-w,再度把系统时间写入硬件时间,同步完成。
实例1:每分钟、每小时、每天、每周、每月、每年执行
实例2:每小时的第3和第15分钟执行
3,15****myCommand
实例3:在早上8点到11点的第3和第15分钟执行
3,158-11***myCommand
实例4:每隔七天的早上8点到11点的第3和第15分钟执行
3,158-11*/2**myCommand
实例5:每周一早上8点到11点的第3和第15分钟执行
3,158-11**1myCommand
实例6:晚上的21:30重启smb
3021***/etc/init.d/smbrestart
实例7:每月1、10、22日的4:45重启smb
4541,10,22**/etc/init.d/smbrestart
实例8:每周六、周日的1:10重启smb
101**6,0/etc/init.d/smbrestart
实例9:每晚18:00至23:00之间每隔30分钟重启smb
0,3018-23***/etc/init.d/smbrestart
实例10:每礼拜六的下午11:00pm重启smb
023**6/etc/init.d/smbrestart
实例11:每一小时重启smb
0****/etc/init.d/smbrestart
实例12:早上11点到晚上7点之间,每隔一小时重启smb
023-7/1***/etc/init.d/smbrestart
实例13:每月的4号与每周一到周五的11点重启smb
0114*mon-wed/etc/init.d/smbrestart
实例14:十月一号的4点重启smb
041jan*/etc/init.d/smbrestart
实例15:每小时执行/etc/cron.hourly目录内的脚本
01****rootrun-parts/etc/cron.hourly
run-parts这个参数了,若果除去这个参数的话,前面就可以写要运行的某个脚本名,而不是目录名了。
目标:每分钟查看一下ganglia的状态,并保存到/tmp/log/ganglia目录。
1、创建/tmp/log/ganglia目录
sudomkdir-p/tmp/log/ganglia
sudochmoda+w/tmp/log/ganglia
2、编辑crontab
crontab-e,选择编辑器为vim
3、在crontab文件中添加一行
4、查看crontab任务
crontab-l,见到任务早已添加成功。
5、等待了五分钟,发觉/tmp/log/ganglia目录下啥也没有。
sudoservicecronstatus,状态正常。
sudo/etc/init.d/cronrestart,重启cron试试。
又等待了五分钟,发觉/tmp/log/ganglia目录下仍然空空。
难道是由于pssh没有使用绝对路径?whereispssh,找到pssh路径为/usr/lib/pssh,更改crontab为:
但是linux 查看crontab是否运行,并没有用。
还是查看下crontab日志吧!
以下主要参考Ubuntu下用crontab布署定时任务。
1、编辑50-default.conf
sudovim/etc/rsyslog.d/50-default.conf
2、把cron前的井号去除,也就是更改为:
3、重启rsyslog服务
sudoservicersyslogrestart
4、重启crontab服务
sudoservicecronrestart
5、查看crontab日志
less/var/log/cron.log
果然发觉了问题:
也就是说,命令确实按量执行了,只不过没有执行完,被百分号截断了,造成log文件没有正常生成!
更改crontab为:
总算,log文件成功生成,nice!并且,文件内容是空的!由于,/usr/lib/pssh是一个目录,不是pssh命令!真正的pssh命令是parallel-ssh,找到它的位置为/usr/bin/parallel-ssh,更改crontab:
至此,问题完满解决。
实际使用的时侯,三天获取一次ganglia的状态就够了,所以crontab改成:
以上,每晚执行一次定时任务,抓取ganglia的运行状态保存到日志文件中。紧接着,我们的目标是使用脚本检测当日的日志文件,假如发觉ganglia运行异常,则形成一个错误日志。
1、假设日志文件ganglia-20180524.log的内容为:
2、参考grep命令最常常使用的功能总结,编撰脚本checkganglia.sh
3、执行
chmoda+xcheckganglia.sh
./checkganglia.sh
假如所有顾客机的ganglia运行正常,都会输出Allservicesareruning!。假如有的顾客机ganglia进程不存在,则会在/tmp/log/ganglia/目录下生成当日的错误日志。
4、设置定时运行
由于日志的检测工作要在日志生成以后,所以时间上延迟十分钟。
里面的脚本,还有好多要改进的地方。例如有的顾客机宕机了,里面的脚本检测不下来。例如有的顾客机ganglia服务没有启动,这么具体是哪几台?针对这两个问题,下边进行改进。假定早已晓得顾客机的数目为10。
参考csplit命令,checkganglia.sh脚本更改为:
以上脚本,实现了当顾客机数目不为10的时侯,进行报错;当顾客机ganglia服务没有启动时,进行报错,但是筛选出所有没有启动ganglia的顾客机。
本文中,我们先学习了crontab的基础知识和基本用法。之后通过监控ganglia这一个应用场景来具体学习crontab的详尽使用方式,包括查看cron日志的方式,crontab中命令通配符的方式,定时执行脚本的方式,以及审读日志脚本的编撰和进阶。
至此,还不够完美,由于我们须要每晚登陆管理机查看有没有错误日志。下一篇Linux设置电邮提醒中,我们将会研究linux设置电邮提醒的方式。审读完日志后,假如脚本才能给我们发送一封电邮,告知我们审读的结果,这么我们就毋须再每晚查看错误日志。