<h2>场景:</h2> <blockquote> <p>CentOS6.0</p> </blockquote> <blockquote> <p>想获取所有的计划任务</p> </blockquote> <h2>过程:</h2> <p>1、平时系统上的用户通过“crontab –e/-l”,来修改或显示自己的计划任务。好些会用到“contab –u ${USER_NAME} –e/-l ”指定用户修改或显示。原始的想法是通过crontab获取所有用户的计划任务。</p> <blockquote> <p>man了下,crontab命令的帮助内容不多,几个参数满足不了需求。</p> </blockquote> <p>2、想想,crontab命令类似个壳,应该有数据存储的地方。之前就做过从/proc目录下的文件获取系统原始信息(单个进程,net,uptime)。</p> <blockquote> <p>首先想起的是/etc下有一些</p> </blockquote> <blockquote> <p>cron.d/         cron.daily/      cron.deny       cron.hourly/    cron.monthly/   crontab         cron.weekly/</p> </blockquote> <blockquote> <p>翻了下,没有找到“crontab -e”修改的计划任务。</p> </blockquote> <p>3、crontab所在的软件包里是否有些信息?</p> <blockquote> <p># rpm -qf /etc/init.d/crond <br />cronie-1.4.4-7.el6.x86_64</p> </blockquote> <blockquote> <p># rpm -ql cronie            <br />/etc/cron.d <br />/etc/cron.d/0hourly <br />/etc/cron.deny <br />/etc/pam.d/crond <br />/etc/rc.d/init.d/crond <br />/etc/sysconfig/crond <br />/usr/bin/crontab <br />/usr/sbin/crond <br />/usr/share/doc/cronie-1.4.4 <br />/usr/share/doc/cronie-1.4.4/AUTHORS <br />/usr/share/doc/cronie-1.4.4/COPYING <br />/usr/share/doc/cronie-1.4.4/ChangeLog <br />/usr/share/doc/cronie-1.4.4/INSTALL <br />/usr/share/doc/cronie-1.4.4/README <br />/usr/share/man/man1/crontab.1.gz <br />/usr/share/man/man5/crontab.5.gz <br />/usr/share/man/man8/cron.8.gz <br />/usr/share/man/man8/crond.8.gz <br /><font color="#ff0000">/var/spool/cron    后来认识到计划任务存储位置,按用户分 <br /></font></p> <p># pwd <br />/var/spool/cron <br />#l <br />-rw------- 1 root root 585 Feb 27 13:18 root</p> <p># cat root <br />…… <br /># Puppet Name: puppet agent <br />18 * * * * source /etc/profile && /usr/bin/puppet agent --test --server puppets27-v-o --environment development</p> <p>是root用户自定义的计划任务,可以操作了。</p> </blockquote> <p> </p> <h2>总结:</h2> <blockquote> <p>这个过程又提醒了我</p> </blockquote> <blockquote> <p>首先考虑使用系统命令获得信息,以我的水平,我能想到的,命令工具的作者应该都考虑过,即使我想要的功能没有满足,那么这种情况有两个原因:这个功能不应在满足范畴内,或者还有其他工具我不知道。</p> </blockquote> <blockquote> <p>遇到上面情况,考虑从系统里获取原始数据,自己处理。</p> </blockquote> <blockquote> <p>软件包安装时使用的目录是有标准的,记得曾经看过,各unix-like发行版在一个系统目录公共标准的基础上,可以自定义目录结构。所以个人认为了解“linux操作系统基础目录标准”,可以在遇到问题时增加目的性,节约时间。</p> </blockquote> <p> </p> <h2>这是本篇日志的主题</h2> <blockquote> <p>翻出之前下载的文档<a href="http://www.pathname.com/fhs/">《Filesystem Hierarchy Staandard》</a>,落灰了,不能只熟悉”/”,”etc”,”opt”那几个目录和文件</p> </blockquote> <blockquote> <p>借个之前<a href="http://www.linuxeden.com">www.linuxeden.com</a>上下载的图</p> </blockquote> <blockquote> <p><a href="http://static.oschina.net/uploads/img/201403/12112234_vYbX.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="linuxFS" border="0" alt="linuxFS" src="http://static.oschina.net/uploads/img/201403/12112237_PvFv.jpg" width="808" height="523" /></a></p></blockquote>
转载于:https://my.oschina.net/u/818147/blog/207460