Auto‐Certificate‐Renewal - Abhishek-Chougule/Auto-Certificate-Renewal GitHub Wiki
Auto-Certificate-Renewal
File Name : ssl_renew_all_sites.sh
#!/bin/bash
export PATH=$PATH:/usr/local/bin
LOG_DIR="/home/user_name/crons_file"
LOG_FILE="$LOG_DIR/ssl-renew-cron.log"
DATE=$(date '+%Y-%m-%d %H:%M:%S')
echo "SSL renewal started at $DATE" >> "$LOG_FILE"
echo "Stopping nginx..." >> "$LOG_FILE"
sudo systemctl stop nginx >> "$LOG_FILE" 2>&1
echo "Running certbot renew..." >> "$LOG_FILE"
sudo /usr/local/bin/certbot renew >> "$LOG_FILE" 2>&1
echo "Starting nginx..." >> "$LOG_FILE"
sudo systemctl start nginx >> "$LOG_FILE" 2>&1
DATE_END=$(date '+%Y-%m-%d %H:%M:%S')
echo "SSL renewal completed at $DATE_END" >> "$LOG_FILE"
echo "-------------------------------------------" >> "$LOG_FILE"
Cron : ( sudo crontab -e ) Add Below Line in crontab
0 6 * * 1 /home/user_name/crons_file/ssl_renew_all_sites.sh >> /home/user_name/crons_file/cron_output.log 2>&1