I would like to have a tidy resource that deletes all files recursively from directories matching a pattern, except for the most recently modified file.
Something like this: tidy { 'clean up files except most recently modified one': path => '/path/to/files', recurse => true, rmdirs => true, age => '1h', matches => 'some-pattern', unless => '{bash script returning most recently modified file name}', ; } I understand that this is really stretching the scope of what tidy is for. That is why I have decided to just use an exec with a long line of bash that does what I want. However, this long and complicated line of bash code is not ideal for me because it is hard to understand and maintain, it's just kind of ugly: # 1 - find all directories matching a pattern, print the most recently modified time and path # 2 - sort by most recently modified # 3 - remove the timestamp # 4 - remove the last item # 5 - rm -rf all of the paths find /path/to/files -maxdepth 1 -type d -name 'some*pattern' -printf '%T+ %p\n' | sort | cut -d' ' -f2 | head -n -1 | xargs rm -rf Even if tidy is not an option, does anyone else have any better ideas than my exec? Thanks in advance -Tony -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/3962a82f-536a-49ef-ad57-ddd872d4ba6f%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.