Hi,
I update some elements on my script, here it is :
#!/bin/sh
########################################################
#This script will create a new p12 certificate for Plex
#when Let's Encrypt automatically renew its one
#Mathieu Noublanche - 2017-08-10 v0.3
########################################################
########################################################
#Just adapt the values below to your configuration
#Location of your script
script_folder=/volume1/scripts
#Folder and name you want for your p12 file
p12_file_path=$script_folder/syno.p12
#Add password to the p12 file (you can leave it empty)
p12cert_password=
#Synology's Default Let's encrypt folder
letsencrypt_cert_folder=/usr/syno/etc/certificate/system/default
########################################################
#Changes below are at your own own risk
########################################################
generate_p12=false
current_date=`date +"%s"`
current_certificate_date=`openssl x509 -enddate -noout -in $letsencrypt_cert_folder/cert.pem | cut -d'=' -f2`
current_certificate_timestamp=`date -d "$current_certificate_date" +"%s"`
#First of all, we check if the renew_timestamp file exists (this file keep in memory the further certificate renew date)
if [ ! -f $script_folder/renew_timestamp ]; then
echo "Generate timestamp for the current renew date... "
echo $current_certificate_timestamp > $script_folder/renew_timestamp
chmod +rw $script_folder/renew_timestamp
chown admin:users $script_folder/renew_timestamp
#We generate the first p12 file
generate_p12=true
else
renew_date=`cat $script_folder/renew_timestamp`
echo "In memory certificate expiration date is" `date -d @$renew_date` "and the current certificate expiration date is $current_certificate_date"
#Now, we check if is it necessary to renew the certificate or not
if expr "$current_certificate_timestamp" "!=" "$renew_date" > /dev/null; then
#We ask to generate a new p12 file
echo "Dates doesn't match, we have to renew the certificate..."
generate_p12=true
#We update the timestamp_date on the file
echo "Updating the new timestamp date..."
echo $current_certificate_timestamp > $script_folder/renew_timestamp
else
echo "It is not necessary to renew the certificate, abort."
exit 0
fi
fi
#We generate a new certificate file if we ask it, ans we relaunch Plex App to take effect
if expr "$generate_p12" "=" "true" > /dev/null; then
echo "Generating the p12 certificate file..."
openssl pkcs12 -export -out $p12_file_path -in $letsencrypt_cert_folder/cert.pem -inkey $letsencrypt_cert_folder/privkey.pem -certfile $letsencrypt_cert_folder/chain.pem -name "Domain" -password pass:$p12cert_password
chmod +r $p12_file_path
chown admin:users $p12_file_path
echo "Relaunching Plex App..."
sh /var/packages/Plex\ Media\ Server/scripts/start-stop-status stop
sh /var/packages/Plex\ Media\ Server/scripts/start-stop-status start
echo "Done."
fi