diff --git a/platform/packages/medic-api/scripts/medic-api/include/link-logs b/platform/packages/medic-api/scripts/medic-api/include/link-logs new file mode 100644 index 00000000..cf4e3cd4 --- /dev/null +++ b/platform/packages/medic-api/scripts/medic-api/include/link-logs @@ -0,0 +1,10 @@ +#!/bin/sh + +link_logs() +{ + rm -f "/var/log/$PACKAGE_NAME" && + ln -sf "$PACKAGE_STORAGE/logs" "/var/log/$PACKAGE_NAME" + + return "$?" +} + diff --git a/platform/packages/medic-api/scripts/medic-api/include/logrotate b/platform/packages/medic-api/scripts/medic-api/include/logrotate new file mode 100644 index 00000000..69501ce7 --- /dev/null +++ b/platform/packages/medic-api/scripts/medic-api/include/logrotate @@ -0,0 +1,20 @@ +#!/bin/sh + +logrotate_install() +{ + local logrotate_dir='/etc/logrotate.d' + local logrotate_cfg="$PACKAGE_NAME.conf" + local logrotate_dst_path="$logrotate_dir/$logrotate_cfg" + local logrotate_src_path="$PACKAGE_SETTINGS/logrotate/$logrotate_cfg" + + mkdir -p "$logrotate_dir" \ + || return 1 + + if ! [ -f "$logrotate_dst_path" ]; then + ln -sf "$logrotate_src_path" "$logrotate_dst_path" \ + || return 2 + fi + + return 0 +} + diff --git a/platform/packages/medic-api/scripts/medic-api/setup/link-logs b/platform/packages/medic-api/scripts/medic-api/setup/link-logs new file mode 100755 index 00000000..c4f7dff0 --- /dev/null +++ b/platform/packages/medic-api/scripts/medic-api/setup/link-logs @@ -0,0 +1,19 @@ +#!/bin/sh + +main() +{ + local self="`realpath "$0"`" + local base="`dirname -- "$self"`" + + source "$base/../env" && + merge_environment /srv || return 255 + + source "$base/../include/link-logs" && + link_logs + + return "$?" +} + +main "$@" +exit "$?" + diff --git a/platform/packages/medic-api/scripts/medic-api/setup/logrotate b/platform/packages/medic-api/scripts/medic-api/setup/logrotate new file mode 100755 index 00000000..08e88cff --- /dev/null +++ b/platform/packages/medic-api/scripts/medic-api/setup/logrotate @@ -0,0 +1,19 @@ +#!/bin/sh + +main() +{ + local self="`realpath "$0"`" + local base="`dirname -- "$self"`" + + source "$base/../env" && + merge_environment /srv || return 255 + + source "$base/../include/logrotate" && logrotate_install \ + || return 1 + + return 0 +} + +main "$@" +exit "$?" + diff --git a/platform/packages/medic-api/settings/medic-api/logrotate/medic-api.conf b/platform/packages/medic-api/settings/medic-api/logrotate/medic-api.conf new file mode 100644 index 00000000..e62a185c --- /dev/null +++ b/platform/packages/medic-api/settings/medic-api/logrotate/medic-api.conf @@ -0,0 +1,4 @@ + +/srv/storage/medic-api/logs/*.log { +} + diff --git a/platform/packages/medic-sentinel/scripts/medic-sentinel/include/link-logs b/platform/packages/medic-sentinel/scripts/medic-sentinel/include/link-logs new file mode 100644 index 00000000..cf4e3cd4 --- /dev/null +++ b/platform/packages/medic-sentinel/scripts/medic-sentinel/include/link-logs @@ -0,0 +1,10 @@ +#!/bin/sh + +link_logs() +{ + rm -f "/var/log/$PACKAGE_NAME" && + ln -sf "$PACKAGE_STORAGE/logs" "/var/log/$PACKAGE_NAME" + + return "$?" +} + diff --git a/platform/packages/medic-sentinel/scripts/medic-sentinel/include/logrotate b/platform/packages/medic-sentinel/scripts/medic-sentinel/include/logrotate new file mode 100644 index 00000000..69501ce7 --- /dev/null +++ b/platform/packages/medic-sentinel/scripts/medic-sentinel/include/logrotate @@ -0,0 +1,20 @@ +#!/bin/sh + +logrotate_install() +{ + local logrotate_dir='/etc/logrotate.d' + local logrotate_cfg="$PACKAGE_NAME.conf" + local logrotate_dst_path="$logrotate_dir/$logrotate_cfg" + local logrotate_src_path="$PACKAGE_SETTINGS/logrotate/$logrotate_cfg" + + mkdir -p "$logrotate_dir" \ + || return 1 + + if ! [ -f "$logrotate_dst_path" ]; then + ln -sf "$logrotate_src_path" "$logrotate_dst_path" \ + || return 2 + fi + + return 0 +} + diff --git a/platform/packages/medic-sentinel/scripts/medic-sentinel/setup/link-logs b/platform/packages/medic-sentinel/scripts/medic-sentinel/setup/link-logs new file mode 100755 index 00000000..c4f7dff0 --- /dev/null +++ b/platform/packages/medic-sentinel/scripts/medic-sentinel/setup/link-logs @@ -0,0 +1,19 @@ +#!/bin/sh + +main() +{ + local self="`realpath "$0"`" + local base="`dirname -- "$self"`" + + source "$base/../env" && + merge_environment /srv || return 255 + + source "$base/../include/link-logs" && + link_logs + + return "$?" +} + +main "$@" +exit "$?" + diff --git a/platform/packages/medic-sentinel/scripts/medic-sentinel/setup/logrotate b/platform/packages/medic-sentinel/scripts/medic-sentinel/setup/logrotate new file mode 100755 index 00000000..08e88cff --- /dev/null +++ b/platform/packages/medic-sentinel/scripts/medic-sentinel/setup/logrotate @@ -0,0 +1,19 @@ +#!/bin/sh + +main() +{ + local self="`realpath "$0"`" + local base="`dirname -- "$self"`" + + source "$base/../env" && + merge_environment /srv || return 255 + + source "$base/../include/logrotate" && logrotate_install \ + || return 1 + + return 0 +} + +main "$@" +exit "$?" + diff --git a/platform/packages/medic-sentinel/settings/medic-sentinel/logrotate/medic-sentinel.conf b/platform/packages/medic-sentinel/settings/medic-sentinel/logrotate/medic-sentinel.conf new file mode 100644 index 00000000..a9067287 --- /dev/null +++ b/platform/packages/medic-sentinel/settings/medic-sentinel/logrotate/medic-sentinel.conf @@ -0,0 +1,4 @@ + +/srv/storage/medic-sentinel/logs/*.log { +} + diff --git a/platform/packages/system-services/scripts/system-services/run/cron b/platform/packages/system-services/scripts/system-services/run/cron index f9a1f08e..85e8cb54 100755 --- a/platform/packages/system-services/scripts/system-services/run/cron +++ b/platform/packages/system-services/scripts/system-services/run/cron @@ -2,13 +2,8 @@ start() { - local logs_dir='/srv/storage/system-services/logs' - - mkdir -p "$logs_dir" && - \ exec /boot/timestamp \ - busybox crond -f -L "$log_path" \ - >> "$logs_dir/cron.log" 2>&1 + cron -f >> "$logs_dir/cron.log" 2>&1 } main()