1

我正在编写一个每小时执行一次的脚本。它基本上可以作为:

  1. 读取数据文件(如果存在)。
  2. 如果数据文件具有某些内容,则执行操作。
  3. 改写或创建数据文件。

我将把脚本放在 Ubuntu 上的 /etc/cron.hourly/ 中,让它每小时执行一次。

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

4

5 回答 5

4

首先,数据文件和 cron 作业都应该以您的应用程序命名。其次,如果我理解正确,您的数据正在由 cron 作业更改,而不是由人工编辑。因此,文件系统层次结构标准规定,如果应用程序被命名foo,那么 cron 作业应该是/etc/cron.hourly/foo,数据文件应该是/var/lib/foo. 原因在于,/var/lib给出的目的如下:

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

于 2009-05-16T00:56:18.420 回答
2

/opt和/或/var通常是这样做的好地方。显然从那里缩小范围。

于 2009-05-16T00:06:35.933 回答
1

的子目录/var是系统读取和修改数据的正确位置。有关更多信息,请参阅文件系统层次标准

于 2009-05-16T00:55:30.560 回答
0

如果是只读数据:

/usr/local/share/program_name

如果它是一个配置文件(或多个文件):

/usr/local/etc/program_name

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

于 2009-05-16T00:21:16.523 回答
0

如果是临时数据,那么 /tmp 或 /var/tmp 是标准目录。持久数据可以放置在文件系统中进程可以读取和写入的任何区域中。我通常在树中的某个位置创建一个“数据”目录,该目录的进程具有写入权限,例如 ~/data、/app/data 等。

于 2009-05-16T00:59:35.353 回答