Improvements in .templates/bin scripts:
* obsolescent egrep calls have removed; * /usr/local/bin has been added to PATH for cron calls.
This commit is contained in:
@@ -55,6 +55,8 @@
|
||||
# Author: Kovács Zoltán <kovacs.zoltan@smartfront.hu>
|
||||
# Kovács Zoltán <kovacsz@marcusconsulting.hu>
|
||||
# License: GNU/GPL v3+ (https://www.gnu.org/licenses/gpl-3.0.en.html)
|
||||
# 2026-05-04 v1.4
|
||||
# mod: the obsolescent egrep calls have been changed to POSIX grep -E calls.
|
||||
# 2025-09-15 v1.3
|
||||
# fix: now correctly handles "zero elements to keep" directives.
|
||||
# 2025-08-12 v1.2
|
||||
@@ -127,7 +129,7 @@ done
|
||||
# Checks the dependencies.
|
||||
TR=$(which tr 2>/dev/null)
|
||||
if [ -z "$TR" ]; then echo "$MSG_MISSINGDEP tr."; exit 1 ; fi
|
||||
for item in basename date dirname egrep sed seq sort stat xargs
|
||||
for item in basename date dirname grep sed seq sort stat xargs
|
||||
do
|
||||
if [ -n "$(which $item)" ]
|
||||
then export $(echo $item | "$TR" '[:lower:]' '[:upper:]')=$(which $item)
|
||||
@@ -219,11 +221,11 @@ function rotate_class {
|
||||
if [ -z "$CLASSES_PATTERN" ]; then
|
||||
# All non-hidden files but no subfolders, symlinks, etc.
|
||||
files=$(cd "$BACKUP_FOLDER"; \
|
||||
ls -1 -t --file-type | "$XARGS" -0 | "$EGREP" -v '[/=>@|$]$' )
|
||||
ls -1 -t --file-type | "$XARGS" -0 | "$GREP" -E -v '[/=>@|$]$' )
|
||||
else
|
||||
# Non-hidden files (but no subfolders, symlinks, etc.) matching to the pattern.
|
||||
files=$(cd "$BACKUP_FOLDER"; \
|
||||
ls -1 -t --file-type | "$XARGS" -0 | "$EGREP" "$CLASSES_PATTERN" )
|
||||
ls -1 -t --file-type | "$XARGS" -0 | "$GREP" -E "$CLASSES_PATTERN" )
|
||||
fi
|
||||
# Lack of files gives it up here.
|
||||
[[ -z "$files" ]] && return
|
||||
@@ -401,7 +403,7 @@ function rotate_classes {
|
||||
# Tries to validate the pattern.
|
||||
# Test calls simulate the later use.
|
||||
if [ -n "$CLASSES_PATTERN" ]; then
|
||||
echo "test" | "$EGREP" "$CLASSES_PATTERN" >/dev/null 2>&1
|
||||
echo "test" | "$GREP" -E "$CLASSES_PATTERN" >/dev/null 2>&1
|
||||
[[ $? -gt 1 ]] && return # unusable
|
||||
fi
|
||||
# Does contain unexplored classifiers?
|
||||
@@ -413,7 +415,7 @@ function rotate_classes {
|
||||
# Needs further exploring.
|
||||
# Non-hidden files (but no subfolders, symlinks, etc.) matching to the pattern.
|
||||
local files=$(cd "$BACKUP_FOLDER"; \
|
||||
ls -1 -t --file-type | "$XARGS" -0 | "$EGREP" "$CLASSES_PATTERN" )
|
||||
ls -1 -t --file-type | "$XARGS" -0 | "$GREP" -E "$CLASSES_PATTERN" )
|
||||
# Selects the qualifier substrings which actually have matching files.
|
||||
local classes=$(echo -e "$files" | "$SED" -E "s/$CLASSES_PATTERN/\1/" | "$SORT" -u)
|
||||
# Enumerates these qualifiers.
|
||||
@@ -434,7 +436,7 @@ if [ -z "$CLASSES_PATTERN" ]; then
|
||||
rotate_class
|
||||
else
|
||||
# Tries to validate the pattern (loosely).
|
||||
echo "test" | "$EGREP" "$CLASSES_PATTERN" >/dev/null 2>&1
|
||||
echo "test" | "$GREP" -E "$CLASSES_PATTERN" >/dev/null 2>&1
|
||||
[[ $? -gt 1 ]] && echo -e "$MSG_BADPATTERN $CLASSES_PATTERN" >&2 && exit 1
|
||||
# Seems to be valid, go on!
|
||||
rotate_classes "$CLASSES_PATTERN"
|
||||
|
||||
Reference in New Issue
Block a user