From ea304a351e91c5573060b9cee5069945b835eadc Mon Sep 17 00:00:00 2001 From: aj970-crypto Date: Tue, 24 Feb 2026 05:21:00 +0530 Subject: [PATCH] RDKB-63415 : Move SelfHeal Scripts to Cron (#229) RDKB-63415 : Move SelfHeal Scripts to Cron Reason for change: Running the Selfheal scripts as cron jobs instead of background processes when the cron is enabled and running as normal background process when the cron is disabled. Test Procedure: Check scripts are running in crontab when the cron is enabled. Risks: Low Priority: P0 --------- Signed-off-by: aj970 --- .../scripts/init/defaults/system_defaults_arm | 2 ++ .../scripts/init/defaults/system_defaults_bci | 2 ++ .../scripts/init/service.d/service_crond.sh | 35 +++++++++++++++++-- 3 files changed, 37 insertions(+), 2 deletions(-) diff --git a/source/scripts/init/defaults/system_defaults_arm b/source/scripts/init/defaults/system_defaults_arm index af4fcae8..8d29a2aa 100755 --- a/source/scripts/init/defaults/system_defaults_arm +++ b/source/scripts/init/defaults/system_defaults_arm @@ -1497,5 +1497,7 @@ $FwDwld_AvlMem_RsrvThreshold=20 #FwDwld_ImageProcMemPercent Default value $FwDwld_ImageProcMemPercent=0 +#SelfHeal Cron - RFC flag is enabled by default +$SelfHealCronEnable=true #STAGE Default value $StageEnabled=false diff --git a/source/scripts/init/defaults/system_defaults_bci b/source/scripts/init/defaults/system_defaults_bci index 1a891c77..c611e5d8 100755 --- a/source/scripts/init/defaults/system_defaults_bci +++ b/source/scripts/init/defaults/system_defaults_bci @@ -1347,5 +1347,7 @@ $FwDwld_AvlMem_RsrvThreshold=20 #FwDwld_ImageProcMemPercent Default value $FwDwld_ImageProcMemPercent=0 +#SelfHeal Cron - RFC flag is enabled by default +$SelfHealCronEnable=true #STAGE Default value $StageEnabled=false diff --git a/source/scripts/init/service.d/service_crond.sh b/source/scripts/init/service.d/service_crond.sh index 26dd4340..33b9757f 100755 --- a/source/scripts/init/service.d/service_crond.sh +++ b/source/scripts/init/service.d/service_crond.sh @@ -167,13 +167,44 @@ service_start () # Don't Zero iptable Counter echo "58 * * * * /usr/bin/GenFWLog -nz" >> $CRONTAB_FILE - # Monitor syscfg DB every 15minutes - echo "*/15 * * * * /usr/ccsp/tad/syscfg_recover.sh" >> $CRONTAB_FILE + SELFHEAL_CRON_ENABLE=$(syscfg get SelfHealCronEnable) + SELFHEAL_ENABLE=$(syscfg get selfheal_enable) + if [ "$SELFHEAL_CRON_ENABLE" = "true" ] && [ "$SELFHEAL_ENABLE" = "true" ]; then + echo_t "SelfHeal Cron is enabled" + # Monitor selfheal_aggressive.sh based on syscfg value + AGGRESSIVE_INTERVAL=$(syscfg get AggressiveInterval) + if [ -z "$AGGRESSIVE_INTERVAL" ]; then + AGGRESSIVE_INTERVAL=5 + fi + #Write cron rule + echo "*/$AGGRESSIVE_INTERVAL * * * * /usr/ccsp/tad/selfheal_aggressive.sh" >> $CRONTAB_FILE + + # Monitor resource_monitor.sh based on syscfg value + RESOURCE_MONITOR_INTERVAL=$(syscfg get resource_monitor_interval) + if [ -z "$RESOURCE_MONITOR_INTERVAL" ]; then + RESOURCE_MONITOR_INTERVAL=15 + fi + echo "*/$RESOURCE_MONITOR_INTERVAL * * * * /usr/ccsp/tad/resource_monitor.sh" >> $CRONTAB_FILE + + # Monitor self_heal_connectivity_test.sh based on syscfg value + SELFHEAL_PING_INTERVAL=$(syscfg get ConnTest_PingInterval) + if [ -z "$SELFHEAL_PING_INTERVAL" ]; then + SELFHEAL_PING_INTERVAL=60 + fi + echo "*/$SELFHEAL_PING_INTERVAL * * * * /usr/ccsp/tad/self_heal_connectivity_test.sh" >> $CRONTAB_FILE + echo_t "Selfheal cron jobs are started" + + else + echo_t "Selfheal cron is disabled" + # Monitor syscfg DB every 15minutes + echo "*/15 * * * * /usr/ccsp/tad/syscfg_recover.sh" >> $CRONTAB_FILE # Monitor resource_monitor.sh every 5 minutes TCCBR-3288 # if [ "$BOX_TYPE" = "TCCBR" ]; then echo "*/5 * * * * /usr/ccsp/tad/resource_monitor_recover.sh" >> $CRONTAB_FILE # fi + + fi # RDKB-23651 if [ "$THERMALCTRL_ENABLE" = "true" ]; then