Index: /branches/rel_apv_10_7/usr/click/bin/backend/sys_cmd.c
===================================================================
--- /branches/rel_apv_10_7/usr/click/bin/backend/sys_cmd.c	(revision 38959)
+++ /branches/rel_apv_10_7/usr/click/bin/backend/sys_cmd.c	(working copy)
@@ -1553,11 +1553,65 @@
 		remove_profile(SCRIPT_CONF_SIGNED_PATH, signed_file);
 		
 	}
-	
+
 	closedir(dir);
 	return 0;
 }
 
+int
+clear_directory_var(void)
+{
+	const char *deletePaths[] = { "/var/crash", "/var/crash/statmon" };
+	int numPaths = sizeof(deletePaths) / sizeof(deletePaths[0]);
+	DIR *dir;
+	struct dirent *entry;
+	char filename[128];
+    struct stat filestat;
+	char sysstr[256];
+	int i;
+
+	printf("Certain file on /var directory will be delete. Type \"YES\" to confirm the deletion:");
+
+	if (!challange_user("YES\n")) {
+		printf("Operation aborted by user.\n");
+		return -1;
+	}
+
+	for (i = 0; i < numPaths; i++) {
+		dir = opendir(deletePaths[i]);
+		if (!dir) {
+			printf("Warning : Failed to open directory %s\n", deletePaths[i]);
+			continue;
+		}
+		while((entry = readdir(dir)) != NULL) {
+			// Skip "." and ".." entries (current and parent directories)
+			if(strcmp(entry->d_name, ".") == 0 || strcmp(entry->d_name, "..") == 0) {
+				continue;
+			}
+
+			// Combine the directory path and file name to get the full file path
+			snprintf(filename, sizeof(filename), "%s/%s", deletePaths[i], entry->d_name);
+            if (stat(filename, &filestat) != 0) {
+				printf("Warning: Cannot access %s or file under %s is not available", filename, filename);
+                continue; // Skip if file cannot be accessed
+            }
+
+			// Handle other directories with extension check
+			else if (strstr(entry->d_name, ".core") || strstr(entry->d_name, ".rrd") || strstr(entry->d_name, ".out")) {
+				snprintf(sysstr, sizeof(sysstr), "rm -f %s", filename);
+				if (system(sysstr) != 0) {
+					printf("Warning : Failed to delete file: %s\n", filename);
+					closedir(dir);
+					return -1;
+				}
+				printf("Delete file: %s\n", filename);
+			}
+		}
+		closedir(dir);
+	}
+	return 0;
+}
+
 int clear_custom_script_file(void)
 {
 	DIR *dir;
Index: /branches/rel_apv_10_7/usr/click/lib/libparser/commands.pm
===================================================================
--- /branches/rel_apv_10_7/usr/click/lib/libparser/commands.pm	(revision 38959)
+++ /branches/rel_apv_10_7/usr/click/lib/libparser/commands.pm	(working copy)
@@ -72565,6 +72565,28 @@
 		function_name => "clear_custom_script_file",
 		function_args => [],
 	},
+
+	{
+		obj_type => "MENU",
+		name => "directory",
+		parent_menu => "root_clear",
+		uniq_name => "root_clear_directory",
+		cmd_attribute => "CMD_ARRAYOS|CMD_SPROXY|CMD_NORMAL",
+		user_level => "CLI_LEVEL_CONFIG",
+		help_string => "Clear certain files under certain directory",
+	},
+
+	{
+		obj_type => "ITEM",
+		name => "var",
+		menu => "root_clear_directory",
+		cmd_attribute => "CMD_ARRAYOS|CMD_NORMAL|CMD_GLOBAL",
+		user_level => "CLI_LEVEL_CONFIG",
+		help_string => "Clear certain files under /var directory",
+		function_name => "clear_directory_var",
+		function_args => [],
+	},
+
 	{
                 obj_type => "MENU",
                 name => "dnad",
