一个阅读和阅读的好地方写cron脚本使用的数据?

时间:2009-05-16 00:04:16

标签: linux bash ubuntu cron

我正在编写一个每小时执行一次的脚本。它主要用作:

  1. 读取数据文件(如果存在)。
  2. 如果数据文件包含某些内容,则执行操作。
  3. 覆盖或创建数据文件。
  4. 我将把脚本放在/etc/cron.hourly/上的Ubuntu上,它会让它每小时执行一次。

    存储数据文件的好地方是什么?该脚本以root身份运行。

5 个答案:

答案 0 :(得分:4)

首先,应该在应用程序之后命名datafile和cron作业。其次,如果我理解正确,您的数据将被cron作业更改,而不是由人编辑。因此Filesystem Hierarchy Standard表示如果应用程序名为foo,则cron作业应为/etc/cron.hourly/foo,数据文件应为/var/lib/foo。原因是/var/lib的目的如下:

  

此层次结构保存有关应用程序或系统的状态信息。程序状态信息是程序在运行时修改的数据,属于一个特定主机。用户永远不需要修改/var/lib中的文件来配置程序包的操作。

答案 1 :(得分:2)

/opt和/或/var通常是个好地方。显然从那里缩小了它。

答案 2 :(得分:1)

/var的子目录是系统将读取和修改的数据的正确位置。有关详细信息,请参阅Filesystem Hierarchy Standard

答案 3 :(得分:0)

如果是只读数据:

/usr/local/share/program_name

如果是配置文件(或文件):

/usr/local/etc/program_name

除非它是非常具体的东西应该进入/ var / spool,/ var / run或其他地方。还有/opt/XXX学校......

答案 4 :(得分:0)

如果是瞬态数据,则/ tmp或/ var / tmp是标准目录。持久性数据可以放置在进程可以读取和写入的文件系统中的任何区域中。我通常在树的某处创建一个“数据”目录,其中进程具有写权限,例如〜/ data,/ app / data等。