modified: README.md
modified: docker-compose.yaml renamed: certbot/Dockerfile -> serv_certbot/certbot/Dockerfile renamed: certbot/config/certbot.ini -> serv_certbot/certbot/config/certbot.ini renamed: certbot/scripts/checkRenewCerts.sh -> serv_certbot/certbot/scripts/checkRenewCerts.sh renamed: certbot/scripts/crontab.txt -> serv_certbot/certbot/scripts/crontab.txt renamed: certbot/scripts/init-certbot.sh -> serv_certbot/certbot/scripts/init-certbot.sh renamed: certbot/scripts/renewEasysite102.sh -> serv_certbot/certbot/scripts/renewEasysite102.sh renamed: certbot/scripts/renewValitovGazizCert.sh -> serv_certbot/certbot/scripts/renewValitovGazizCert.sh renamed: certbot/scripts/renewYalarbaCert.sh -> serv_certbot/certbot/scripts/renewYalarbaCert.sh new file: serv_certbot/docker-compose.yml divite certbot service
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Функция проверки локального сертификата
|
||||
check_local_cert() {
|
||||
local cert_file=$1
|
||||
local days_to_check=$2
|
||||
|
||||
if [[ ! -f "$cert_file" ]]; then
|
||||
echo "Ошибка: Файл сертификата '$cert_file' не найден."
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Получаем дату истечения сертификата
|
||||
expiry_date=$(openssl x509 -in "$cert_file" -noout -dates | grep "notAfter=" | cut -d= -f2)
|
||||
|
||||
if [[ -z "$expiry_date" ]]; then
|
||||
echo "Ошибка: не удалось получить дату истечения сертификата."
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Преобразуем дату истечения в UNIX-время
|
||||
expiry_unix=$(date -d "$expiry_date" +%s)
|
||||
|
||||
# Текущая дата в UNIX-времени
|
||||
current_unix=$(date +%s)
|
||||
|
||||
# Вычисляем разницу между текущей датой и датой истечения
|
||||
days_left=$(( ($expiry_unix - $current_unix) / 86400 ))
|
||||
|
||||
if ((days_left <= 0)); then
|
||||
echo "Сертификат '$cert_file' истек!"
|
||||
return 0
|
||||
elif ((days_left <= days_to_check)); then
|
||||
echo "Предупреждение: Сертификат '$cert_file' истекает через $days_left дней."
|
||||
return 0
|
||||
else
|
||||
echo "Сертификат '$cert_file' действителен ещё $days_left дней."
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Проверка первого сертификата и запуск соответствующего сценария обновления
|
||||
check_first_cert() {
|
||||
local first_cert="/etc/letsencrypt/live/yalarba.ru/cert.pem"
|
||||
local first_script="/opt/renewYalarbaCert.sh"
|
||||
local warning_days=2
|
||||
|
||||
if check_local_cert "$first_cert" "$warning_days"; then
|
||||
echo "Запускаю обновление первого сертификата..."
|
||||
"$first_script"
|
||||
fi
|
||||
}
|
||||
|
||||
# Проверка второго сертификата и запуск соответствующего сценария обновления
|
||||
check_second_cert() {
|
||||
local second_cert="/etc/letsencrypt/live/valitovgaziz.ru/cert.pem"
|
||||
local second_script="/opt/renewValitovGazizCert.sh"
|
||||
local warning_days=2
|
||||
|
||||
if check_local_cert "$second_cert" "$warning_days"; then
|
||||
echo "Запускаю обновление второго сертификата..."
|
||||
"$second_script"
|
||||
fi
|
||||
}
|
||||
|
||||
# Проверка второго сертификата и запуск соответствующего сценария обновления
|
||||
check_third_cert() {
|
||||
local second_cert="/etc/letsencrypt/live/easysite102.ru/cert.pem"
|
||||
local second_script="/opt/renewValitovGazizCert.sh"
|
||||
local warning_days=2
|
||||
|
||||
if check_local_cert "$second_cert" "$warning_days"; then
|
||||
echo "Запускаю обновление тетьего сертификата..."
|
||||
"$third_script"
|
||||
fi
|
||||
}
|
||||
|
||||
# Основная функция для последовательной проверки обоих сертификатов
|
||||
main() {
|
||||
check_first_cert
|
||||
check_second_cert
|
||||
check_third_cert
|
||||
}
|
||||
|
||||
# Запуск основной функции
|
||||
main
|
||||
Reference in New Issue
Block a user