Prototype: file_older_than(filename, datestring, option)

Return type: boolean

Description: Returns whether the file filename is older than some fuzzy time offset datestring. What file statistic is compared depends on the option argument. "modify" compares the time offset with the last modification, "access" with the last access and "change" with the last metadata change. file_older_than doesn’t follow symlinks.

Arguments:

  • filename: string - Path to file - in the range: "?(/.*)
  • datestring: string - Date string - in the range: .*
  • option: - file timespec - one of
    • modify
    • access
    • change

The function uses under the hood date --date <str> +%s from GNU coreutils, located at /var/cfengine/bin/date

Example:

body common control
{
  bundlesequence => { "init", "main" };
}

bundle agent init
{
  files:
    "/tmp/myfile.txt" create => "true";

  commands:
    "/bin/sleep" args => 10;
}

bundle agent main
{
  classes:
    "is_8sec_old" expression => file_older_than("/tmp/myfile.txt", "8 seconds");

  reports:
    is_8sec_old::
      "/tmp/myfile.txt is older than 8 seconds";
}

See also:

History:

  • Introduced in 3.29.0