Incorrect file chosen for the latest backup
The README states:
Run from Codex. By default, the log from the most recent backup is used.
This, to me, indicates it will choose the last backup log.
However, we can see that it returns the incorrect file:
root@sh112 [~]# find /usr/local/cpanel/logs/cpbackup -maxdepth 1 -type f -regex ".*/[0-9]+\.log" -printf '%T+ %p\n' | sort
2019-02-17+05:33:16.0000000000 /usr/local/cpanel/logs/cpbackup/1550386801.log
2019-02-18+04:33:07.0000000000 /usr/local/cpanel/logs/cpbackup/1550473202.log
2019-02-19+04:16:50.0000000000 /usr/local/cpanel/logs/cpbackup/1550559602.log
2019-02-20+04:28:55.0000000000 /usr/local/cpanel/logs/cpbackup/1550646002.log
2019-02-21+04:28:43.0000000000 /usr/local/cpanel/logs/cpbackup/1550732402.log
2019-02-22+04:09:03.0000000000 /usr/local/cpanel/logs/cpbackup/1550818802.log
2019-02-23+04:22:55.0000000000 /usr/local/cpanel/logs/cpbackup/1550905202.log
2019-02-24+05:42:30.0000000000 /usr/local/cpanel/logs/cpbackup/1550991602.log
2019-02-25+04:23:24.0000000000 /usr/local/cpanel/logs/cpbackup/1551078002.log
2019-02-26+04:26:53.0000000000 /usr/local/cpanel/logs/cpbackup/1551164402.log
2019-02-27+03:56:52.0000000000 /usr/local/cpanel/logs/cpbackup/1551250801.log
It appears to be due to the code under the else statement on line 212.
This can be changed from:
find "$CPBACKUP_DIR" \
-maxdepth 1 \
-type f \
-regex ".*/[0-9]+\.log" \
-printf '%T+ %p\n' |\
sort |\
awk '{print $2; exit}')"
To:
find "$CPBACKUP_DIR" -maxdepth 1 -type f -regex ".*/[0-9]+\.log" | sort -r | awk '{print $1;exit}'
Alternatively, you can just do sort -r in the current sort section being used.
Edited by elijah.s@hostdime.com