Number of files in my test recap var log:
[root@gnu ~]# find /var/log/recap |wc -l
170580
Dry run
[root@gnu ~]# recaplog -n
2017-01-06 17:41:16+00:00 [INFO] --- Starting dry run ---
2017-01-06 17:41:16+00:00 [INFO] Not compressing old log files
2017-01-06 17:41:16+00:00 [INFO] Packing fdisk...
2017-01-06 17:41:16+00:00 [INFO] Would move 1440 logs to: /var/log/recap/fdisk_daily_20170105
2017-01-06 17:41:16+00:00 [INFO] Packing mysql...
2017-01-06 17:41:17+00:00 [INFO] Would move 1440 logs to: /var/log/recap/mysql_daily_20170105
2017-01-06 17:41:17+00:00 [INFO] Packing netstat...
2017-01-06 17:41:17+00:00 [INFO] Would move 1440 logs to: /var/log/recap/netstat_daily_20170105
2017-01-06 17:41:17+00:00 [INFO] Packing ps...
2017-01-06 17:41:17+00:00 [INFO] Would move 1440 logs to: /var/log/recap/ps_daily_20170105
2017-01-06 17:41:17+00:00 [INFO] Packing pstree...
2017-01-06 17:41:17+00:00 [ERROR] An error ocurred while reading logs: ls: cannot access /var/log/recap/pstree_20170105-*.log: No such file or directory 0, skipping...
2017-01-06 17:41:17+00:00 [INFO] Packing resources...
2017-01-06 17:41:17+00:00 [ERROR] An error ocurred while reading logs: ls: cannot access /var/log/recap/resources_20170105-*.log: No such file or directory 0, skipping...
2017-01-06 17:41:18+00:00 [INFO] Deleting log files older than 15 days...
2017-01-06 17:41:22+00:00 [INFO] Would delete: 153741 log files.
2017-01-06 17:41:22+00:00 [INFO] --- Ending dry run ---
The error above is OK, it occur because the BACKUP_ITEMS iniclude pstree and resources:
[root@gnu ~]# grep ^BACKUP /etc/recap
BACKUP_ITEMS="fdisk mysql netstat ps pstree resources"
But the files from yestserday did not included those items:
[root@gnu ~]# ls /var/log/recap/{pstree,resources_}20170105*
ls: cannot access /var/log/recap/pstree20170105*: No such file or directory
ls: cannot access /var/log/recap/resources_20170105*: No such file or directory
Now running recaplog verbose:
[root@gnu ~]# recaplog -v
2017-01-06 17:45:23+00:00 [INFO] --- Starting run ---
2017-01-06 17:45:23+00:00 [INFO] Not compressing old log files
2017-01-06 17:45:23+00:00 [INFO] Packing fdisk...
2017-01-06 17:45:23+00:00 [INFO] Moving 1440 logs to: /var/log/recap/fdisk_daily_20170105
2017-01-06 17:45:23+00:00 [INFO] Packing mysql...
2017-01-06 17:45:24+00:00 [INFO] Moving 1440 logs to: /var/log/recap/mysql_daily_20170105
2017-01-06 17:45:24+00:00 [INFO] Packing netstat...
2017-01-06 17:45:24+00:00 [INFO] Moving 1440 logs to: /var/log/recap/netstat_daily_20170105
2017-01-06 17:45:24+00:00 [INFO] Packing ps...
2017-01-06 17:45:24+00:00 [INFO] Moving 1440 logs to: /var/log/recap/ps_daily_20170105
2017-01-06 17:45:25+00:00 [INFO] Packing pstree...
2017-01-06 17:45:25+00:00 [ERROR] An error ocurred while reading logs: ls: cannot access /var/log/recap/pstree_20170105-*.log: No such file or directory 0, skipping...
2017-01-06 17:45:25+00:00 [INFO] Packing resources...
2017-01-06 17:45:25+00:00 [ERROR] An error ocurred while reading logs: ls: cannot access /var/log/recap/resources_20170105-*.log: No such file or directory 0, skipping...
2017-01-06 17:45:25+00:00 [INFO] Deleting log files older than 15 days...
2017-01-06 17:45:29+00:00 [INFO] Deleting: 153741 log files.
2017-01-06 17:48:12+00:00 [INFO] Deleting: 1 empty directories.
2017-01-06 17:48:12+00:00 [INFO] --- Ending run ---
Number of files after recaplog
[root@gnu ~]# find /var/log/recap |wc -l
16883
Reducing the number of days to 2, so we can test the deletion of the new non-compress log files inside directories:
[root@gnu ~]# grep ^LOG_EXP /etc/recap
LOG_EXPIRY=2
[root@gnu ~]# recaplog -v
2017-01-06 17:51:08+00:00 [INFO] --- Starting run ---
2017-01-06 17:51:08+00:00 [INFO] Not compressing old log files
2017-01-06 17:51:08+00:00 [INFO] Packing fdisk...
2017-01-06 17:51:08+00:00 [ERROR] An error ocurred while reading logs: ls: cannot access /var/log/recap/fdisk_20170105-*.log: No such file or directory 0, skipping...
2017-01-06 17:51:08+00:00 [INFO] Packing mysql...
2017-01-06 17:51:08+00:00 [ERROR] An error ocurred while reading logs: ls: cannot access /var/log/recap/mysql_20170105-*.log: No such file or directory 0, skipping...
2017-01-06 17:51:08+00:00 [INFO] Packing netstat...
2017-01-06 17:51:08+00:00 [ERROR] An error ocurred while reading logs: ls: cannot access /var/log/recap/netstat_20170105-*.log: No such file or directory 0, skipping...
2017-01-06 17:51:08+00:00 [INFO] Packing ps...
2017-01-06 17:51:08+00:00 [ERROR] An error ocurred while reading logs: ls: cannot access /var/log/recap/ps_20170105-*.log: No such file or directory 0, skipping...
2017-01-06 17:51:08+00:00 [INFO] Packing pstree...
2017-01-06 17:51:08+00:00 [ERROR] An error ocurred while reading logs: ls: cannot access /var/log/recap/pstree_20170105-*.log: No such file or directory 0, skipping...
2017-01-06 17:51:08+00:00 [INFO] Packing resources...
2017-01-06 17:51:08+00:00 [ERROR] An error ocurred while reading logs: ls: cannot access /var/log/recap/resources_20170105-*.log: No such file or directory 0, skipping...
2017-01-06 17:51:08+00:00 [INFO] Deleting log files older than 2 days...
2017-01-06 17:51:08+00:00 [INFO] Deleting: 10931 log files.
2017-01-06 17:51:16+00:00 [INFO] Deleting: 1 empty directories.
2017-01-06 17:51:16+00:00 [INFO] --- Ending run ---
The errors above are OK as we have just processed the "yesterdays" logs, the new non-compressed logs were deleted as expected, but not the empty dirs:
[root@gnu ~]# ls -ld /var/log/recap/*daily*
drwxr-xr-x. 2 root root 73728 Jan 6 17:51 /var/log/recap/fdisk_daily_20161222
drwxr-xr-x. 2 root root 69632 Jan 6 17:45 /var/log/recap/fdisk_daily_20170105
drwxr-xr-x. 2 root root 69632 Jan 6 17:51 /var/log/recap/mysql_daily_20161222
drwxr-xr-x. 2 root root 69632 Jan 6 17:45 /var/log/recap/mysql_daily_20170105
drwxr-xr-x. 2 root root 69632 Jan 6 17:51 /var/log/recap/netstat_daily_20161222
drwxr-xr-x. 2 root root 69632 Jan 6 17:45 /var/log/recap/netstat_daily_20170105
drwxr-xr-x. 2 root root 69632 Jan 6 17:51 /var/log/recap/ps_daily_20161222
drwxr-xr-x. 2 root root 69632 Jan 6 17:45 /var/log/recap/ps_daily_20170105
[root@gnu ~]# find /var/log/recap |wc -l
5977
After fixing the code(removing -mtime and adding the full regex)
[root@gnu ~]# recaplog -v
2017-01-06 17:58:34+00:00 [INFO] --- Starting run ---
2017-01-06 17:58:34+00:00 [INFO] Not compressing old log files
2017-01-06 17:58:34+00:00 [INFO] Packing fdisk...
2017-01-06 17:58:34+00:00 [ERROR] An error ocurred while reading logs: ls: cannot access /var/log/recap/fdisk_20170105-*.log: No such file or directory 0, skipping...
2017-01-06 17:58:34+00:00 [INFO] Packing mysql...
2017-01-06 17:58:34+00:00 [ERROR] An error ocurred while reading logs: ls: cannot access /var/log/recap/mysql_20170105-*.log: No such file or directory 0, skipping...
2017-01-06 17:58:34+00:00 [INFO] Packing netstat...
2017-01-06 17:58:34+00:00 [ERROR] An error ocurred while reading logs: ls: cannot access /var/log/recap/netstat_20170105-*.log: No such file or directory 0, skipping...
2017-01-06 17:58:34+00:00 [INFO] Packing ps...
2017-01-06 17:58:34+00:00 [ERROR] An error ocurred while reading logs: ls: cannot access /var/log/recap/ps_20170105-*.log: No such file or directory 0, skipping...
2017-01-06 17:58:34+00:00 [INFO] Packing pstree...
2017-01-06 17:58:34+00:00 [ERROR] An error ocurred while reading logs: ls: cannot access /var/log/recap/pstree_20170105-*.log: No such file or directory 0, skipping...
2017-01-06 17:58:34+00:00 [INFO] Packing resources...
2017-01-06 17:58:34+00:00 [ERROR] An error ocurred while reading logs: ls: cannot access /var/log/recap/resources_20170105-*.log: No such file or directory 0, skipping...
2017-01-06 17:58:34+00:00 [INFO] Deleting log files older than 2 days...
2017-01-06 17:58:34+00:00 [INFO] Deleting: 1 log files.
2017-01-06 17:58:34+00:00 [INFO] Deleting: 4 empty directories.
2017-01-06 17:58:34+00:00 [INFO] --- Ending run ---
Fixed the inacurate reporting of 1 log files for both files and directories when there is 0 logs/dirs to be deleted.