diff --git a/public_html/lib/runMonthlyCustomerReport.php b/public_html/lib/runMonthlyCustomerReport.php
new file mode 100644
index 0000000..fae889c
--- /dev/null
+++ b/public_html/lib/runMonthlyCustomerReport.php
@@ -0,0 +1,78 @@
+> /home2/ifreshy/public_html/goi/lib/cronlog/`date +\%Y\%m\%d\%H\%M\%S`-cron-customer.log 2>&1
+//
+///////////////////////////////////////////////////
+
+date_default_timezone_set('America/Toronto');
+
+$time_start = microtime(true);
+
+$mode = "SHELL";
+
+if($mode == "SHELL") {
+ if (stristr(gethostname(), 'goiintranet.com') == FALSE)
+ $GETDIR = "/home2/ifreshy/public_html/goi";
+ else
+ $GETDIR = "/home/goiintra/public_html";
+ $ENT = "\n";
+} else {
+ $GETDIR = getenv("DOCUMENT_ROOT");
+ $ENT = "
";
+}
+
+echo "####[START Customer Report]####$ENT";
+
+include_once $GETDIR . "/include/function_class.php";
+include_once $GETDIR . "/include/arrayinfo.php";
+require_once __DIR__ . '/../lib/runMonthlyReport.php';
+
+$func = new Func();
+$jdb = new JDB();
+
+// 이전달 계산
+$dt = new DateTime();
+$day = $dt->format('j');
+$dt->modify('first day of -1 month');
+$dt->modify('+' . (min($day, $dt->format('t')) - 1) . ' days');
+$getLastMonth = $dt->format('Ym');
+
+$getToday = date('Ymd');
+
+// 로그 시작
+$logName = $GETDIR . "/lib/access.log";
+
+$funcMsg = "ACTION[Cron - Start - Customer Report for {$getLastMonth}]";
+$func->PwriteLog($logName, $funcMsg);
+
+// 프로시저 실행
+echo "[Info] Running sp_generate_customer_monthly_report('$getLastMonth') ...$ENT";
+
+$qry_call = "CALL sp_generate_customer_monthly_report('$getLastMonth')";
+
+$result = @mysqli_query($jdb->DBConn, $qry_call);
+
+if (!$result) {
+ $errMsg = "Procedure execution error | " . mysqli_error($jdb->DBConn);
+ echo "[ERROR] $errMsg$ENT";
+ $func->PwriteLog($logName, "ERROR[Customer Report Generation] " . $errMsg);
+} else {
+ echo "[SUCCESS] Procedure executed successfully for month {$getLastMonth}$ENT";
+ $func->PwriteLog($logName, "SUCCESS[Customer Report Generation] Month={$getLastMonth}");
+}
+
+// 로그 완료
+$funcMsg = "ACTION[Cron - Finished - Customer Report for {$getLastMonth}]\n";
+$func->PwriteLog($logName, $funcMsg);
+
+$time_end = microtime(true);
+$timeStr = "Running Time: " . round(($time_end - $time_start), 2) . " sec";
+echo "####[END][$timeStr]####$ENT";
+
+?>