Skip to content

Instantly share code, notes, and snippets.

@tonyskapunk
Last active January 6, 2017 18:43
Show Gist options
  • Save tonyskapunk/a9fa24d02cb6fa2ee3c8f0b106f0c747 to your computer and use it in GitHub Desktop.
Save tonyskapunk/a9fa24d02cb6fa2ee3c8f0b106f0c747 to your computer and use it in GitHub Desktop.
recaplog basic tests

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment