¾È³çÇϼ¼¿ä. ¸ð´ÏÅ͸µ ±â´É¿¡ ÅÚ·¹±×·¥ ¸Þ¼¼Áö Àü¼Û ÄÚµùÀÌ ÇÊ¿äÇѵ¥ ¾Æ¹«¸® Çصµ ¾ÈµÇ¼ ¿äû µå·Áº¾´Ï´Ù.
Á¦°¡ ÇÊ¿äÇÑ°Ç ½Ç½Ã°£ ³»¿ëÀÌ Ãß°¡µÇ´Â .log ÆÄÀÏÀ» ºÒ·¯¿Í¼ ¸ð´ÏÅ͸µ ÇÏ´Ù°¡ Á¦°¡ ÀÔ·ÂÇÑ °ª°ú µ¿ÀÏÇÑ °ªÀÌ È®ÀεǸé
ÅÚ·¹±×·¥À¸·Î ¸Þ¼¼Áö ¹ß¼ÛÇÏ´Â ÄÚµùÀÔ´Ï´Ù.
[09:23:11.643]|[276c]|[Info]|upgrade package [name =
AAAAA
]
[09:26:34.817]|[0548]|[Info]|fetch_package_version taskid=1, package_id=
12345
, version=275
[09:26:36.381]|[21ac]|[Warning]|compel audit,
a
dd bytes:105998271
,update size bounder:1024,
[09:26:49.758]|[17fc]|[Trace]|package [id = 10072][ip = ][name = kr_ssn_05]
upload finis
h
[09:38:26.011]|[276c]|[Info]|upgrade package [name =
BBBBB
]
[09:41:03.612]|[0548]|[Info]|fetch_package_version taskid=2, package_id=
23451
, version=546
[09:51:47.567]|[17fc]|[Warning]|compel audit,
add bytes:87441026
,update size bounder:1024,
[09:51:59.360]|[17fc]|[Trace]|package [id = 11032][ip = ][name = kr_ssn_4]
upload finish
[10:18:46.258]|[276c]|[Info]|upgrade package [name =
CCCCC
]
[10:28:03.983]|[0548]|[Info]|fetch_package_version taskid=4, package_id=
34512
, version=342
[10:28:08.020]|[17fc]|[Warning]|compel audit,
add bytes:58359874318
,update size bounder:1024,
[11:09:05.353]|[21ac]|[Trace]|package [id = 10097][ip = ][name = kr_ssn_4]
upload finish
·Î±× ÆÄÀÏÀÇ ³»¿ëÀÌ°í Á¦°¡ ¼öµ¿À¸·Î AAAAA À̸§À» Ãß°¡Çسõ°í ¸ð´ÏÅ͸µÁß AAAAA À̸§À» È®ÀÎÇϸé
°°Àº ¶óÀο¡ ½Ã°£À» Æ÷ÇÔÇÏ¿© ÅÚ·¹±×·¥À¸·Î
09:23:11
°ÔÀÓ¸í : AAAAA
¾÷µ¥ÀÌÆ® ÁøÇà
¸Þ¼¼Áö¸¦ 1Â÷ ¹ß¼Û ÇÕ´Ï´Ù.
±×¸®°í
upload finis
h
¸¦ È®ÀεǸé
1.a
dd bytes:105998271
¿ë·®À» 999MB ±îÁö¸¸
MB·Î ÀÌ»óÀÏ °æ¿ì GB·Î ȯ»ê
2.
package_id=
12345
ID¹øÈ£
3.
upload finis
h
¶óÀÎ ½Ã°£ È®ÀÎ
-
[name =
AAAAA
]
¿Í
[name =
BBBBB
]
»çÀÌ¿¡´Â upload finish ¶óÀÎÀÌ 2°³ ÀÔ´Ï´Ù. ¸¶Áö¸· ¶óÀθ¸ Âü°íÇÕ´Ï´Ù.
09:26:49
°ÔÀÓ¸í : AAAAA
°ÔÀÓ ¾ÆÀ̵ð : 12345
¿ë·® : 999MB
¾÷µ¥ÀÌÆ® ¿Ï·á
ÀÌ·¸°Ô ¹«ÇÑ·çÇÁ·Î °è¼Ó ¸ð´ÏÅ͸µ ÇÒ ¼ö ÀÖ´Â ÄÚµù ¿äûµå¸³´Ï´Ù.
À©µµ¿ì ¹Ú½º ÄÚµùÀε¥ Ȥ½Ã °£¼ÒÈ Çؼ À§ ³»¿ë Àû¿ë °¡´ÉÇÒ±î¿ä??
import tkinter as tk
from tkinter import filedialog
import os
class FileMonitorApp:
def __init__(self, root):
self.root = root
self.root.title("ÆÄÀÏ ¸ð´ÏÅ͸µ ¾Û")
self.root.geometry("350x450") # À©µµ¿ì Å©±â¸¦ 500x600À¸·Î ¼³Á¤
self.folder_path = ""
self.package_ids = []
self.file_watcher = None
self.create_ui()
def create_ui(self):
# ÆÄÀÏ ¼±Åà ¹öÆ°
file_select_button = tk.Button(self.root, text="ÆÄÀÏ ¼±ÅÃ", command=self.select_file)
file_select_button.pack()
# ÆÄÀÏ °æ·Î ·¹À̺í
self.file_path_label = tk.Label(self.root, text="")
self.file_path_label.pack()
# ´Ù¼¸ ÀÚ¸® ¼ýÀÚ ÀÔ·Â Çʵå
self.package_id_entry = tk.Entry(self.root)
self.package_id_entry.pack()
# Package ID Ãß°¡ ¹öÆ°
add_package_id_button = tk.Button(self.root, text="Package ID Ãß°¡", command=self.add_package_id)
add_package_id_button.pack()
# Package ID ¸ñ·Ï ·¹À̺í
self.package_id_list_label = tk.Label(self.root, text="Package ID ¸ñ·Ï:")
self.package_id_list_label.pack()
# Package ID ¸ñ·Ï Listbox
self.package_id_listbox = tk.Listbox(self.root, selectmode=tk.MULTIPLE)
self.package_id_listbox.pack()
# Package ID »èÁ¦ ¹öÆ°
remove_package_id_button = tk.Button(self.root, text="Package ID »èÁ¦", command=self.remove_package_id)
remove_package_id_button.pack()
# Package ID Ãâ·Â ·¹À̺í
self.package_id_label = tk.Label(self.root, text="")
self.package_id_label.pack()
# ¸ð´ÏÅ͸µ ½ÃÀÛ ¹öÆ°
start_monitor_button = tk.Button(self.root, text="¸ð´ÏÅ͸µ ½ÃÀÛ", command=self.start_monitoring)
start_monitor_button.pack()
# ¸ð´ÏÅ͸µ ÁßÁö ¹öÆ°
stop_monitor_button = tk.Button(self.root, text="¸ð´ÏÅ͸µ ÁßÁö", command=self.stop_monitoring)
stop_monitor_button.pack()
def select_file(self):
self.file_path = filedialog.askopenfilename()
self.file_path_label.config(text=f"¼±ÅÃÇÑ ÆÄÀÏ: {self.file_path}")
def add_package_id(self):
package_id = self.package_id_entry.get()
if len(package_id) == 5:
self.package_ids.append(package_id)
self.update_package_id_listbox()
else:
print("´Ù¼¸ ÀÚ¸® ¼ýÀÚ¸¦ ÀÔ·ÂÇϼ¼¿ä.")
def remove_package_id(self):
selected_indices = self.package_id_listbox.curselection()
for index in reversed(selected_indices):
self.package_ids.pop(index)
self.update_package_id_listbox()
def update_package_id_listbox(self):
self.package_id_listbox.delete(0, tk.END)
for package_id in self.package_ids:
self.package_id_listbox.insert(tk.END, package_id)
def start_monitoring(self):
if self.file_path:
self.file_watcher = FileWatcher(self.file_path, self.handle_file_created)
self.file_watcher.start()
else:
print("ÆÄÀÏÀ» ¼±ÅÃÇϼ¼¿ä.")
def stop_monitoring(self):
if self.file_watcher:
self.file_watcher.stop()
self.file_watcher = None
else:
print("¸ð´ÏÅ͸µÀÌ ÀÌ¹Ì ÁßÁöµÇ¾ú½À´Ï´Ù.")
def handle_file_created(self, filepath):
# ÆÄÀÏÀÌ »ý¼ºµÇ¾úÀ» ¶§ ½ÇÇàÇÒ ÀÛ¾÷À» ¿©±â¿¡ Ãß°¡Çϼ¼¿ä.
if any(package_id in filepath for package_id in self.package_ids):
print(f"»õ ÆÄÀÏÀÌ »ý¼ºµÇ¾ú½À´Ï´Ù: {filepath}")
self.package_id_label.config(text=f"Package ID: {', '.join(self.package_ids)}")
class FileWatcher:
def __init__(self, file_path, callback):
self.file_path = file_path
self.callback = callback
self.running = False
def start(self):
self.running = True
while self.running:
if os.path.exists(self.file_path):
self.callback(self.file_path)
def stop(self):
self.running = False
if __name__ == "__main__":
root = tk.Tk()
app = FileMonitorApp(root)
root.mainloop()