From c5f170307da4015c2f078c31b0f4c5789ee0b5cf Mon Sep 17 00:00:00 2001 From: gabrielsoltz Date: Tue, 11 Jun 2019 12:08:48 +0200 Subject: [PATCH] add linux and cygwin get_date_previous_than_months function --- include/os_detector | 92 +++++++++++++++++++++++++-------------------- 1 file changed, 52 insertions(+), 40 deletions(-) diff --git a/include/os_detector b/include/os_detector index 4acbec93..22efbc78 100644 --- a/include/os_detector +++ b/include/os_detector @@ -39,24 +39,30 @@ if [ "$OSTYPE" == "linux-gnu" ] || [ "$OSTYPE" == "linux-musl" ]; then base64 -d } how_many_days_from_today() - { - DATE_TO_COMPARE=$1 - TODAY_IN_DAYS=$(date -d "$(date +%Y-%m-%d)" +%s) - DATE_IN_DAYS=$(date -d $DATE_TO_COMPARE +%s) - DAYS_TO=$((( $DATE_IN_DAYS - $TODAY_IN_DAYS )/60/60/24)) - echo $DAYS_TO - } + { + DATE_TO_COMPARE=$1 + TODAY_IN_DAYS=$(date -d "$(date +%Y-%m-%d)" +%s) + DATE_IN_DAYS=$(date -d $DATE_TO_COMPARE +%s) + DAYS_TO=$((( $DATE_IN_DAYS - $TODAY_IN_DAYS )/60/60/24)) + echo $DAYS_TO + } + get_date_previous_than_months() + { + MONTHS_TO_COMPARE=$1 + DATE_BEFORE_MONTHS_TO_COMPARE=$(date --date="$(echo $MONTHS_TO_COMPARE) months ago" '+%Y-%m-%d') + echo $DATE_BEFORE_MONTHS_TO_COMPARE + } elif [[ "$OSTYPE" == "darwin"* ]]; then # BSD/OSX commands compatibility TEMP_REPORT_FILE=$(mktemp -t prowler.cred_report-XXXXXX) how_older_from_today() - { - DATE_TO_COMPARE=$1 - TODAY_IN_DAYS=$(date +%s) - DATE_FROM_IN_DAYS=$(date -jf %Y-%m-%d $DATE_TO_COMPARE +%s) - DAYS_SINCE=$((($TODAY_IN_DAYS - $DATE_FROM_IN_DAYS )/60/60/24)) - echo $DAYS_SINCE - } + { + DATE_TO_COMPARE=$1 + TODAY_IN_DAYS=$(date +%s) + DATE_FROM_IN_DAYS=$(date -jf %Y-%m-%d $DATE_TO_COMPARE +%s) + DAYS_SINCE=$((($TODAY_IN_DAYS - $DATE_FROM_IN_DAYS )/60/60/24)) + echo $DAYS_SINCE + } timestamp_to_date() { # remove fractions of a second @@ -69,30 +75,30 @@ elif [[ "$OSTYPE" == "darwin"* ]]; then base64 -D } how_many_days_from_today() - { - DATE_TO_COMPARE=$1 - TODAY_IN_DAYS=$(date +%s) - DATE_IN_DAYS=$(date -jf %Y-%m-%d $DATE_TO_COMPARE +%s) - DAYS_TO=$((( $DATE_IN_DAYS - $TODAY_IN_DAYS )/60/60/24)) - echo $DAYS_TO - } + { + DATE_TO_COMPARE=$1 + TODAY_IN_DAYS=$(date +%s) + DATE_IN_DAYS=$(date -jf %Y-%m-%d $DATE_TO_COMPARE +%s) + DAYS_TO=$((( $DATE_IN_DAYS - $TODAY_IN_DAYS )/60/60/24)) + echo $DAYS_TO + } get_date_previous_than_months() - { - MONTHS_TO_COMPARE=$1 - DATE_BEFORE_MONTHS_TO_COMPARE=$(date -v -$(echo $MONTHS_TO_COMPARE)m '+%Y-%m-%d') - echo $DATE_BEFORE_MONTHS_TO_COMPARE - } + { + MONTHS_TO_COMPARE=$1 + DATE_BEFORE_MONTHS_TO_COMPARE=$(date -v -$(echo $MONTHS_TO_COMPARE)m '+%Y-%m-%d') + echo $DATE_BEFORE_MONTHS_TO_COMPARE + } elif [[ "$OSTYPE" == "cygwin" ]]; then # POSIX compatibility layer and Linux environment emulation for Windows TEMP_REPORT_FILE=$(mktemp -t -p /tmp prowler.cred_report-XXXXXX) how_older_from_today() - { - DATE_TO_COMPARE=$1 - TODAY_IN_DAYS=$(date -d "$(date +%Y-%m-%d)" +%s) - DATE_FROM_IN_DAYS=$(date -d $DATE_TO_COMPARE +%s) - DAYS_SINCE=$((($TODAY_IN_DAYS - $DATE_FROM_IN_DAYS )/60/60/24)) - echo $DAYS_SINCE - } + { + DATE_TO_COMPARE=$1 + TODAY_IN_DAYS=$(date -d "$(date +%Y-%m-%d)" +%s) + DATE_FROM_IN_DAYS=$(date -d $DATE_TO_COMPARE +%s) + DAYS_SINCE=$((($TODAY_IN_DAYS - $DATE_FROM_IN_DAYS )/60/60/24)) + echo $DAYS_SINCE + } timestamp_to_date() { # remove fractions of a second @@ -105,13 +111,19 @@ elif [[ "$OSTYPE" == "cygwin" ]]; then base64 -d } how_many_days_from_today() - { - DATE_TO_COMPARE=$1 - TODAY_IN_DAYS=$(date -d "$(date +%Y-%m-%d)" +%s) - DATE_IN_DAYS=$(date -d $DATE_TO_COMPARE +%s) - DAYS_TO=$((( $TODAY_IN_DAYS - $DATE_IN_DAYS )/60/60/24)) - echo $DAYS_TO - } + { + DATE_TO_COMPARE=$1 + TODAY_IN_DAYS=$(date -d "$(date +%Y-%m-%d)" +%s) + DATE_IN_DAYS=$(date -d $DATE_TO_COMPARE +%s) + DAYS_TO=$((( $TODAY_IN_DAYS - $DATE_IN_DAYS )/60/60/24)) + echo $DAYS_TO + } + get_date_previous_than_months() + { + MONTHS_TO_COMPARE=$1 + DATE_BEFORE_MONTHS_TO_COMPARE=$(date --date="$(echo $MONTHS_TO_COMPARE) months ago" '+%Y-%m-%d') + echo $DATE_BEFORE_MONTHS_TO_COMPARE + } else echo "Unknown Operating System! Valid \$OSTYPE: linux-gnu, linux-musl, darwin* or cygwin" echo "Found: $OSTYPE"