unix-like操作系统目录

场景:

CentOS6.0

想获取所有的计划任务

过程:

1、平时系统上的用户通过“crontab –e/-l”,来修改或显示自己的计划任务。好些会用到“contab –u ${USER_NAME} –e/-l ”指定用户修改或显示。原始的想法是通过crontab获取所有用户的计划任务。

man了下,crontab命令的帮助内容不多,几个参数满足不了需求。

2、想想,crontab命令类似个壳,应该有数据存储的地方。之前就做过从/proc目录下的文件获取系统原始信息(单个进程,net,uptime)。

首先想起的是/etc下有一些

cron.d/         cron.daily/      cron.deny       cron.hourly/    cron.monthly/   crontab         cron.weekly/

翻了下,没有找到“crontab -e”修改的计划任务。

3、crontab所在的软件包里是否有些信息?

# rpm -qf /etc/init.d/crond
cronie-1.4.4-7.el6.x86_64

# rpm -ql cronie           
/etc/cron.d
/etc/cron.d/0hourly
/etc/cron.deny
/etc/pam.d/crond
/etc/rc.d/init.d/crond
/etc/sysconfig/crond
/usr/bin/crontab
/usr/sbin/crond
/usr/share/doc/cronie-1.4.4
/usr/share/doc/cronie-1.4.4/AUTHORS
/usr/share/doc/cronie-1.4.4/COPYING
/usr/share/doc/cronie-1.4.4/ChangeLog
/usr/share/doc/cronie-1.4.4/INSTALL
/usr/share/doc/cronie-1.4.4/README
/usr/share/man/man1/crontab.1.gz
/usr/share/man/man5/crontab.5.gz
/usr/share/man/man8/cron.8.gz
/usr/share/man/man8/crond.8.gz
/var/spool/cron    后来认识到计划任务存储位置,按用户分

# pwd
/var/spool/cron
#l
-rw------- 1 root root 585 Feb 27 13:18 root

# cat root
……
# Puppet Name: puppet agent
18 * * * * source /etc/profile && /usr/bin/puppet agent --test --server puppets27-v-o --environment development

是root用户自定义的计划任务,可以操作了。

 

总结:

这个过程又提醒了我

首先考虑使用系统命令获得信息,以我的水平,我能想到的,命令工具的作者应该都考虑过,即使我想要的功能没有满足,那么这种情况有两个原因:这个功能不应在满足范畴内,或者还有其他工具我不知道。

遇到上面情况,考虑从系统里获取原始数据,自己处理。

软件包安装时使用的目录是有标准的,记得曾经看过,各unix-like发行版在一个系统目录公共标准的基础上,可以自定义目录结构。所以个人认为了解“linux操作系统基础目录标准”,可以在遇到问题时增加目的性,节约时间。

 

这是本篇日志的主题

翻出之前下载的文档《Filesystem Hierarchy Staandard》,落灰了,不能只熟悉”/”,”etc”,”opt”那几个目录和文件

借个之前www.linuxeden.com上下载的图

unix-like操作系统目录_第1张图片

你可能感兴趣的:(unix-like操作系统目录)