Include a cronjob to create 'today' symlink for logs.
This commit is contained in:
parent
830076b325
commit
784380c3ca
1 changed files with 32 additions and 0 deletions
32
cronjob-rotate-logs-today-symlink
Executable file
32
cronjob-rotate-logs-today-symlink
Executable file
|
|
@ -0,0 +1,32 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Default configuration.
|
||||||
|
LOGS_DIR="/data/logs"
|
||||||
|
|
||||||
|
# Process the directories in the $LOGS_DIR directory.
|
||||||
|
[[ -d "$LOGS_DIR" ]] && {
|
||||||
|
TODAY="$(printf "%(%Y/%m/%d)T")"
|
||||||
|
|
||||||
|
for DIR in "$LOGS_DIR"/*/; do
|
||||||
|
cd "$DIR" 2>/dev/null || {
|
||||||
|
printf "%s: %s\\n" "${0##*/}" "failed to change directory to '$DIR'" >&2
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
# Create the new days' location.
|
||||||
|
umask 0755
|
||||||
|
# shellcheck disable=SC2174
|
||||||
|
mkdir -p -m 0755 "$LOGS_DIR/$TODAY" 2>/dev/null || {
|
||||||
|
printf "%s: %s\\n" "${0##*/}" "failed to create directory '$LOGS_DIR/$TODAY'" >&2
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
# Create the 'today' symlink to the new location.
|
||||||
|
ln -sfn "$TODAY" "today" 2>/dev/null || {
|
||||||
|
printf "%s: %s\\n" "${0##*/}" "updating 'today' symlink failed in '$DIR'" >&2
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
exit 0
|
||||||
Loading…
Add table
Add a link
Reference in a new issue