Updates Logging

Instead of creating a log file. This change leverages the syslog. This allows us to not have to manually rotate logs, or worry about the log file filling up the file system. This also give us timestamps of the logging without having to create the timestamps ourselves. Messages are logged to /var/log/messages by default.
This commit is contained in:
Nicholas Drone 2021-07-19 16:26:13 -04:00
parent a88aa3a52a
commit 662985dc3b
1 changed files with 6 additions and 19 deletions

View File

@ -9,22 +9,13 @@ proxy=false # Set the proxy to true or fa
###########################################
## Define date time stamp function
###########################################
function ds() {
date +"[%F %T]"
}
########################################### ###########################################
## Check if we have a public IP ## Check if we have a public IP
########################################### ###########################################
ip=$(curl -s https://api.ipify.org || curl -s https://ipv4.icanhazip.com/) ip=$(curl -s https://api.ipify.org || curl -s https://ipv4.icanhazip.com/)
if [ "${ip}" == "" ]; then if [ "${ip}" == "" ]; then
message="$(ds) No public IP found." logger "DDNS Updater: No public IP found"
>&2 echo -e "${message}" >> ~/log
exit 1 exit 1
fi fi
@ -41,15 +32,14 @@ fi
## Seek for the A record ## Seek for the A record
########################################### ###########################################
echo "$(ds) Check Initiated" >> ~/log logger "DDNS Updater: Check Initiated"
record=$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones/$zone_identifier/dns_records?name=$record_name" -H "X-Auth-Email: $auth_email" -H "$auth_header $auth_key" -H "Content-Type: application/json") record=$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones/$zone_identifier/dns_records?name=$record_name" -H "X-Auth-Email: $auth_email" -H "$auth_header $auth_key" -H "Content-Type: application/json")
########################################### ###########################################
## Check if the domain has an A record ## Check if the domain has an A record
########################################### ###########################################
if [[ $record == *"\"count\":0"* ]]; then if [[ $record == *"\"count\":0"* ]]; then
message="$(ds) Record does not exist, perhaps create one first? (${ip} for ${record_name})" logger "DDNS Updater: Record does not exist, perhaps create one first? (${ip} for ${record_name})"
>&2 echo -e "${message}" >> ~/log
exit 1 exit 1
fi fi
@ -59,8 +49,7 @@ fi
old_ip=$(echo "$record" | grep -Po '(?<="content":")[^"]*' | head -1) old_ip=$(echo "$record" | grep -Po '(?<="content":")[^"]*' | head -1)
# Compare if they're the same # Compare if they're the same
if [[ $ip == $old_ip ]]; then if [[ $ip == $old_ip ]]; then
message="$(ds) IP ($ip) for ${record_name} has not changed." logger "DDNS Updater: IP ($ip) for ${record_name} has not changed."
echo "${message}" >> ~/log
exit 0 exit 0
fi fi
@ -83,11 +72,9 @@ update=$(curl -s -X PUT "https://api.cloudflare.com/client/v4/zones/$zone_identi
########################################### ###########################################
case "$update" in case "$update" in
*"\"success\":false"*) *"\"success\":false"*)
message="$(ds) $ip $record_name DDNS failed for $record_identifier ($ip). DUMPING RESULTS:\n$update" logger "DDNS Updater: $ip $record_name DDNS failed for $record_identifier ($ip). DUMPING RESULTS:\n$update"
>&2 echo -e "${message}" >> ~/log
exit 1;; exit 1;;
*) *)
message="$(ds) $ip $record_name DDNS updated." logger "DDNS Updater: $ip $record_name DDNS updated."
echo "${message}" >> ~/log
exit 0;; exit 0;;
esac esac