Commit f7ceebfc authored by Frank Bergmann's avatar Frank Bergmann

- Filestorage Size Indicator:

  Now sends out emails if all space is occupied
parent 6d80d782
......@@ -20,6 +20,9 @@ ad_proc -public im_filestorage_size_indicator_sweeper { } {
} {
ns_log Notice "im_filestorage_size_indicator_sweeper: Starting"
# ---------------------------------------------------
# Calculate the used space
#
set pageroot [ns_info pageroot]
set serverroot [join [lrange [split $pageroot "/"] 0 end-1] "/"]
set filestorage_path "$serverroot/filestorage/"
......@@ -39,9 +42,10 @@ ad_proc -public im_filestorage_size_indicator_sweeper { } {
return
}
set size [expr int($size / 1024)]
db_dml update_filestorage_size "
update apm_parameter_values
set attr_value = trunc(:size / 1024)
set attr_value = :size
where parameter_id in (
select parameter_id
from apm_parameters
......@@ -49,4 +53,41 @@ ad_proc -public im_filestorage_size_indicator_sweeper { } {
parameter_name = 'CurrentlyOccupiedSpaceMB'
)
"
# ---------------------------------------------------
# Inform if the space gets low
#
set available_space [parameter::get_from_package_key -package_key "intranet-filestorage-size-indicator" -parameter AvailableSpaceMB -default "5120"]
if {$size <= $available_space} { return }
set system_name [ad_system_name]
set sender_email [ad_parameter -package_id [ad_acs_kernel_id] SystemOwner "" [ad_system_owner]]
set system_owner_email [ad_parameter -package_id [im_package_forum_id] ReportThisErrorEmail]
set target_email [ad_parameter -package_id [im_package_core_id] SecurityBreachEmail -default "support@project-open.com"]
# Get intersting info
set host [info hostname]
set system_id [im_system_id]
# Subject and body
set subject [lang::message::lookup "" intranet-filestorage-size-indicator.Filestorage_Size_Exceeded_Subject "Filestorage Size Exceeded in %system_name%"]
set body "AvailableSpace: $available_space MB
OccupiedSpace: $size MB
SystemID: $system_id
SystemName: $system_name
Managed by: $system_owner_email
Host: $host
"
# Send out the mail
if [catch {
ns_sendmail $target_email $sender_email $subject $body
} errmsg] {
ns_log Error "im_filestorage_size_indicator_sweeper: Error sending to \"subject\": $errmsg"
} else {
ns_log Notice "im_send_alert: Sent mail to $target_email\n"
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment