New function to regenerate a file if too old
This commit is contained in:
parent
af5c5d4ef4
commit
d49b19bdc4
|
@ -39,9 +39,50 @@ device_list="${XYMONTMP}/${MACHINEDOTS}.smartoverall.dscan"
|
||||||
## This file might be used by a more advanced script such as skazi0's one
|
## This file might be used by a more advanced script such as skazi0's one
|
||||||
drivedb_list="${XYMONTMP}/${MACHINEDOTS}.smart.drivedb.list"
|
drivedb_list="${XYMONTMP}/${MACHINEDOTS}.smart.drivedb.list"
|
||||||
|
|
||||||
|
# By default, don't empty files newer than 10hours (600 minutes)
|
||||||
|
default_mtime_minutes="600"
|
||||||
# ]]]
|
# ]]]
|
||||||
|
|
||||||
# Functions
|
# Functions
|
||||||
|
## Create or empty a file if it's too old [[[
|
||||||
|
## First argument (required): Absolut path to the file
|
||||||
|
## Second argument (optionnal): Maximum number of minutes since last modification
|
||||||
|
regenerate_if_too_old() {
|
||||||
|
## Set variables according to the number of passed arguments [[[
|
||||||
|
case $# in
|
||||||
|
0 )
|
||||||
|
[ "${debug}" -eq "0" ] && printf "${c_magentab}%-6b${c_reset}\n" "DEBUG : regenerate_if_too_old func − Need at least 1 argument."
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
1 )
|
||||||
|
_file="${1}"
|
||||||
|
[ "${debug}" -eq "0" ] && printf "${c_magentab}%-6b${c_reset}\n" "DEBUG : regenerate_if_too_old func − Use default_mtime_minutes value: ${default_mtime_minutes}."
|
||||||
|
_max_mtime_minutes="${default_mtime_minutes}"
|
||||||
|
;;
|
||||||
|
2 )
|
||||||
|
_file="${1}"
|
||||||
|
_max_mtime_minutes="${2}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
## ]]]
|
||||||
|
_current_timestamp=$(date "+%s")
|
||||||
|
_file_mtime_timestamp=$(stat --format="%Y" -- "${_file}")
|
||||||
|
|
||||||
|
## Substract last modification timestamp of the file to current timestamp
|
||||||
|
: $(( _file_mtime_seconds=_current_timestamp-_file_mtime_timestamp ))
|
||||||
|
## Get maximum allowed mtime in seconds
|
||||||
|
: $(( _max_mtime_seconds=_max_mtime_minutes*60 ))
|
||||||
|
|
||||||
|
## Compare last modification mtime with the maximum allowed
|
||||||
|
if [ "${_file_mtime_seconds}" -gt "${_max_mtime_seconds}" ]; then
|
||||||
|
[ "${debug}" -eq "0" ] && printf "${c_magentab}%-6b${c_reset}\n" "DEBUG : regenerate_if_too_old func − Need to empty or create ${_file} last modification happened ${_file_mtime_seconds} seconds ago (maximum is ${_max_mtime_seconds})."
|
||||||
|
true > "${_file}"
|
||||||
|
else
|
||||||
|
[ "${debug}" -eq "0" ] && printf "${c_magentab}%-6b${c_reset}\n" "DEBUG : regenerate_if_too_old func − Don't need to empty ${_file} last modification happened ${_file_mtime_seconds} seconds ago (maximum is ${_max_mtime_seconds})."
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
||||||
|
## ]]]
|
||||||
## Test if a disk really support SMART [[[
|
## Test if a disk really support SMART [[[
|
||||||
## Smartctl can give an health status even without a full support
|
## Smartctl can give an health status even without a full support
|
||||||
## of SMART for some type (eg. scsi or megaraid).
|
## of SMART for some type (eg. scsi or megaraid).
|
||||||
|
|
Loading…
Reference in New Issue