добавил уведомление о том, что необъодимо заполнить bckr.json если его нет в директории
parent
f777b86ad7
commit
15f571de12
176
.bckr.log
176
.bckr.log
|
@ -1,116 +1,60 @@
|
||||||
bckr | 2025/05/02 20:46:12 Archive created successfully: backup_2025-05-02_20-46-12.zip
|
bckr | 2025/05/02 22:15:28 Archive created successfully: backup_2025-05-02_22-15-28.zip
|
||||||
bckr | 2025/05/02 20:46:14 Archive sent successfully: backup_2025-05-02_20-46-12.zip
|
bckr | 2025/05/02 22:15:30 Archive sent successfully: backup_2025-05-02_22-15-28.zip
|
||||||
bckr | 2025/05/02 20:47:14 Archive created successfully: backup_2025-05-02_20-47-14.zip
|
bckr | 2025/05/02 22:15:39 Already running. Shutdown...
|
||||||
bckr | 2025/05/02 20:47:15 Archive sent successfully: backup_2025-05-02_20-47-14.zip
|
bckr | 2025/05/02 22:15:56 Archive created successfully: backup_2025-05-02_22-15-55.zip
|
||||||
bckr | 2025/05/02 20:54:35 Archive created successfully: backup_2025-05-02_20-54-34.zip
|
bckr | 2025/05/02 22:15:57 Archive sent successfully: backup_2025-05-02_22-15-55.zip
|
||||||
bckr | 2025/05/02 20:54:36 Archive sent successfully: backup_2025-05-02_20-54-34.zip
|
bckr | 2025/05/02 22:15:59 Already running. Shutdown...
|
||||||
bckr | 2025/05/02 20:55:28 User requested exit
|
bckr | 2025/05/02 22:16:44 Archive created successfully: backup_2025-05-02_22-16-44.zip
|
||||||
bckr | 2025/05/02 20:56:13 Archive created successfully: backup_2025-05-02_20-56-13.zip
|
bckr | 2025/05/02 22:16:46 Archive sent successfully: backup_2025-05-02_22-16-44.zip
|
||||||
bckr | 2025/05/02 20:56:15 Archive sent successfully: backup_2025-05-02_20-56-13.zip
|
bckr | 2025/05/02 22:16:50 Already running. Shutdown...
|
||||||
bckr | 2025/05/02 20:56:35 User requested exit
|
bckr | 2025/05/02 22:17:09 Archive created successfully: backup_2025-05-02_22-17-08.zip
|
||||||
bckr | 2025/05/02 20:56:41 Archive created successfully: backup_2025-05-02_20-56-41.zip
|
bckr | 2025/05/02 22:17:10 Archive sent successfully: backup_2025-05-02_22-17-08.zip
|
||||||
bckr | 2025/05/02 20:56:51 Archive sent successfully: backup_2025-05-02_20-56-41.zip
|
bckr | 2025/05/02 22:17:23 Already running. Shutdown...
|
||||||
bckr | 2025/05/02 20:57:09 User requested exit
|
bckr | 2025/05/02 22:18:00 Archive created successfully: backup_2025-05-02_22-18-00.zip
|
||||||
bckr | 2025/05/02 20:58:17 Archive created successfully: backup_2025-05-02_20-58-17.zip
|
bckr | 2025/05/02 22:18:02 Archive sent successfully: backup_2025-05-02_22-18-00.zip
|
||||||
bckr | 2025/05/02 20:58:19 Archive sent successfully: backup_2025-05-02_20-58-17.zip
|
bckr | 2025/05/02 22:18:04 Already running. Shutdown...
|
||||||
bckr | 2025/05/02 21:12:51 Archive created successfully: backup_2025-05-02_21-12-50.zip
|
bckr | 2025/05/02 22:18:34 Archive created successfully: backup_2025-05-02_22-18-34.zip
|
||||||
bckr | 2025/05/02 21:12:53 Archive sent successfully: backup_2025-05-02_21-12-50.zip
|
bckr | 2025/05/02 22:18:36 Archive sent successfully: backup_2025-05-02_22-18-34.zip
|
||||||
bckr | 2025/05/02 21:13:53 Archive created successfully: backup_2025-05-02_21-13-53.zip
|
bckr | 2025/05/02 22:18:38 Already running. Shutdown...
|
||||||
bckr | 2025/05/02 21:13:54 Archive sent successfully: backup_2025-05-02_21-13-53.zip
|
bckr | 2025/05/02 22:27:41 Archive created successfully: backup_2025-05-02_22-27-41.zip
|
||||||
bckr | 2025/05/02 21:14:54 Archive created successfully: backup_2025-05-02_21-14-54.zip
|
bckr | 2025/05/02 22:27:43 Archive sent successfully: backup_2025-05-02_22-27-41.zip
|
||||||
bckr | 2025/05/02 21:14:56 Archive sent successfully: backup_2025-05-02_21-14-54.zip
|
bckr | 2025/05/02 22:27:50 Already running. Shutdown...
|
||||||
bckr | 2025/05/02 21:15:56 Archive created successfully: backup_2025-05-02_21-15-56.zip
|
bckr | 2025/05/02 22:34:20 Please fill in the configuration file (bckr.json) in current dir
|
||||||
bckr | 2025/05/02 21:15:57 Archive sent successfully: backup_2025-05-02_21-15-56.zip
|
bckr | 2025/05/02 22:37:06 Warning: target path does not exist:
|
||||||
bckr | 2025/05/02 21:16:57 Archive created successfully: backup_2025-05-02_21-16-57.zip
|
bckr | 2025/05/02 22:37:06 Archive created successfully: backup_2025-05-02_22-37-06.zip
|
||||||
bckr | 2025/05/02 21:16:58 Archive sent successfully: backup_2025-05-02_21-16-57.zip
|
bckr | 2025/05/02 22:37:06 Archive sent successfully: backup_2025-05-02_22-37-06.zip
|
||||||
bckr | 2025/05/02 21:17:59 Archive created successfully: backup_2025-05-02_21-17-58.zip
|
bckr | 2025/05/02 22:37:16 Already running. Shutdown...
|
||||||
bckr | 2025/05/02 21:18:00 Archive sent successfully: backup_2025-05-02_21-17-58.zip
|
bckr | 2025/05/02 22:37:24 Please fill in the configuration file (bckr.json) in current dir
|
||||||
bckr | 2025/05/02 21:19:00 Archive created successfully: backup_2025-05-02_21-19-00.zip
|
bckr | 2025/05/02 22:38:36 Archive created successfully: backup_2025-05-02_22-38-36.zip
|
||||||
bckr | 2025/05/02 21:19:01 Archive sent successfully: backup_2025-05-02_21-19-00.zip
|
bckr | 2025/05/02 22:38:36 Archive sent successfully: backup_2025-05-02_22-38-36.zip
|
||||||
bckr | 2025/05/02 21:20:01 Archive created successfully: backup_2025-05-02_21-20-01.zip
|
bckr | 2025/05/02 22:39:36 Archive created successfully: backup_2025-05-02_22-39-36.zip
|
||||||
bckr | 2025/05/02 21:20:03 Archive sent successfully: backup_2025-05-02_21-20-01.zip
|
bckr | 2025/05/02 22:39:37 Archive sent successfully: backup_2025-05-02_22-39-36.zip
|
||||||
bckr | 2025/05/02 21:21:03 Archive created successfully: backup_2025-05-02_21-21-03.zip
|
bckr | 2025/05/02 22:39:57 Already running. Shutdown...
|
||||||
bckr | 2025/05/02 21:21:04 Archive sent successfully: backup_2025-05-02_21-21-03.zip
|
bckr | 2025/05/02 22:40:47 Archive created successfully: backup_2025-05-02_22-40-46.zip
|
||||||
bckr | 2025/05/02 21:22:04 Archive created successfully: backup_2025-05-02_21-22-04.zip
|
bckr | 2025/05/02 22:40:48 Archive sent successfully: backup_2025-05-02_22-40-46.zip
|
||||||
bckr | 2025/05/02 21:22:06 Archive sent successfully: backup_2025-05-02_21-22-04.zip
|
bckr | 2025/05/02 22:41:48 Archive created successfully: backup_2025-05-02_22-41-48.zip
|
||||||
bckr | 2025/05/02 21:23:06 Archive created successfully: backup_2025-05-02_21-23-06.zip
|
bckr | 2025/05/02 22:41:49 Archive sent successfully: backup_2025-05-02_22-41-48.zip
|
||||||
bckr | 2025/05/02 21:23:07 Archive sent successfully: backup_2025-05-02_21-23-06.zip
|
bckr | 2025/05/02 22:41:57 Already running. Shutdown...
|
||||||
bckr | 2025/05/02 21:23:38 Archive created successfully: backup_2025-05-02_21-23-38.zip
|
bckr | 2025/05/02 22:43:54 Archive created successfully: backup_2025-05-02_22-43-54.zip
|
||||||
bckr | 2025/05/02 21:23:40 Archive sent successfully: backup_2025-05-02_21-23-38.zip
|
bckr | 2025/05/02 22:43:56 Archive sent successfully: backup_2025-05-02_22-43-54.zip
|
||||||
bckr | 2025/05/02 21:24:07 Archive created successfully: backup_2025-05-02_21-24-07.zip
|
bckr | 2025/05/02 22:44:05 Already running. Shutdown...
|
||||||
bckr | 2025/05/02 21:24:09 Archive sent successfully: backup_2025-05-02_21-24-07.zip
|
bckr | 2025/05/02 22:45:18 Archive created successfully: backup_2025-05-02_22-45-18.zip
|
||||||
bckr | 2025/05/02 21:24:40 Archive created successfully: backup_2025-05-02_21-24-40.zip
|
bckr | 2025/05/02 22:45:18 Archive sent successfully: backup_2025-05-02_22-45-18.zip
|
||||||
bckr | 2025/05/02 21:24:42 Archive sent successfully: backup_2025-05-02_21-24-40.zip
|
bckr | 2025/05/02 22:45:48 Already running. Shutdown...
|
||||||
bckr | 2025/05/02 21:25:09 Archive created successfully: backup_2025-05-02_21-25-09.zip
|
bckr | 2025/05/02 22:45:53 Archive created successfully: backup_2025-05-02_22-45-53.zip
|
||||||
bckr | 2025/05/02 21:25:10 Archive sent successfully: backup_2025-05-02_21-25-09.zip
|
bckr | 2025/05/02 22:45:53 Archive sent successfully: backup_2025-05-02_22-45-53.zip
|
||||||
bckr | 2025/05/02 21:25:42 Archive created successfully: backup_2025-05-02_21-25-42.zip
|
bckr | 2025/05/02 22:46:13 Already running. Shutdown...
|
||||||
bckr | 2025/05/02 21:25:43 Archive sent successfully: backup_2025-05-02_21-25-42.zip
|
bckr | 2025/05/02 22:46:52 Archive created successfully: backup_2025-05-02_22-46-51.zip
|
||||||
bckr | 2025/05/02 21:26:18 Archive created successfully: backup_2025-05-02_21-26-17.zip
|
bckr | 2025/05/02 22:46:53 Archive sent successfully: backup_2025-05-02_22-46-51.zip
|
||||||
bckr | 2025/05/02 21:26:20 Archive sent successfully: backup_2025-05-02_21-26-17.zip
|
bckr | 2025/05/02 22:47:53 Archive created successfully: backup_2025-05-02_22-47-53.zip
|
||||||
bckr | 2025/05/02 21:28:01 Archive created successfully: backup_2025-05-02_21-28-01.zip
|
bckr | 2025/05/02 22:47:55 Archive sent successfully: backup_2025-05-02_22-47-53.zip
|
||||||
bckr | 2025/05/02 21:28:03 Archive sent successfully: backup_2025-05-02_21-28-01.zip
|
bckr | 2025/05/02 22:48:55 Archive created successfully: backup_2025-05-02_22-48-55.zip
|
||||||
bckr | 2025/05/02 21:29:03 Archive created successfully: backup_2025-05-02_21-29-03.zip
|
bckr | 2025/05/02 22:48:56 Archive sent successfully: backup_2025-05-02_22-48-55.zip
|
||||||
bckr | 2025/05/02 21:29:04 Archive sent successfully: backup_2025-05-02_21-29-03.zip
|
bckr | 2025/05/02 22:49:00 Already running. Shutdown...
|
||||||
bckr | 2025/05/02 21:33:45 [13 10 136 172 239 32 174 161 224 160 167 160 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 80 73 68 32 136 172 239 32 225 165 225 225 168 168 32 32 32 32 32 32 32 32 32 32 252 32 225 165 160 173 225 160 32 32 32 32 32 32 32 143 160 172 239 226 236 13 10 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 32 61 61 61 61 61 61 61 61 32 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 32 61 61 61 61 61 61 61 61 61 61 61 32 61 61 61 61 61 61 61 61 61 61 61 61 13 10 98 99 107 114 46 101 120 101 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 49 53 54 50 48 32 67 111 110 115 111 108 101 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 49 32 32 32 32 32 54 255 56 48 52 32 138 129 13 10]
|
bckr | 2025/05/02 22:50:38 Archive created successfully: backup_2025-05-02_22-50-38.zip
|
||||||
bckr | 2025/05/02 21:34:54 [13 10 136 172 239 32 174 161 224 160 167 160 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 80 73 68 32 136 172 239 32 225 165 225 225 168 168 32 32 32 32 32 32 32 32 32 32 252 32 225 165 160 173 225 160 32 32 32 32 32 32 32 143 160 172 239 226 236 13 10 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 32 61 61 61 61 61 61 61 61 32 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 32 61 61 61 61 61 61 61 61 61 61 61 32 61 61 61 61 61 61 61 61 61 61 61 61 13 10 98 99 107 114 46 101 120 101 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 49 53 57 50 32 67 111 110 115 111 108 101 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 49 32 32 32 32 32 54 255 51 50 52 32 138 129 13 10]
|
bckr | 2025/05/02 22:50:40 Archive sent successfully: backup_2025-05-02_22-50-38.zip
|
||||||
bckr | 2025/05/02 21:34:54 Archive created successfully: backup_2025-05-02_21-34-54.zip
|
bckr | 2025/05/02 22:51:40 Archive created successfully: backup_2025-05-02_22-51-40.zip
|
||||||
bckr | 2025/05/02 21:34:56 Archive sent successfully: backup_2025-05-02_21-34-54.zip
|
bckr | 2025/05/02 22:51:41 Archive sent successfully: backup_2025-05-02_22-51-40.zip
|
||||||
bckr | 2025/05/02 21:35:04 [13 10 136 172 239 32 174 161 224 160 167 160 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 80 73 68 32 136 172 239 32 225 165 225 225 168 168 32 32 32 32 32 32 32 32 32 32 252 32 225 165 160 173 225 160 32 32 32 32 32 32 32 143 160 172 239 226 236 13 10 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 32 61 61 61 61 61 61 61 61 32 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 32 61 61 61 61 61 61 61 61 61 61 61 32 61 61 61 61 61 61 61 61 61 61 61 61 13 10 98 99 107 114 46 101 120 101 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 49 53 57 50 32 67 111 110 115 111 108 101 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 49 32 32 32 32 51 53 255 49 57 50 32 138 129 13 10 98 99 107 114 46 101 120 101 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 49 55 55 55 50 32 67 111 110 115 111 108 101 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 49 32 32 32 32 32 56 255 48 48 48 32 138 129 13 10]
|
bckr | 2025/05/02 22:52:42 Archive created successfully: backup_2025-05-02_22-52-41.zip
|
||||||
bckr | 2025/05/02 21:35:04 Archive created successfully: backup_2025-05-02_21-35-04.zip
|
bckr | 2025/05/02 22:52:43 Archive sent successfully: backup_2025-05-02_22-52-41.zip
|
||||||
bckr | 2025/05/02 21:35:05 Archive sent successfully: backup_2025-05-02_21-35-04.zip
|
bckr | 2025/05/02 22:52:45 Already running. Shutdown...
|
||||||
bckr | 2025/05/02 21:35:47
|
|
||||||
<EFBFBD>¬ď ®ˇŕ § PID <20>¬ď áĄáᨨ ü áĄ á Ź ¬ďâě
|
|
||||||
========================= ======== ================ =========== ============
|
|
||||||
bckr.exe 17468 Console 1 6˙788 Š<>
|
|
||||||
|
|
||||||
bckr | 2025/05/02 21:35:47 Archive created successfully: backup_2025-05-02_21-35-47.zip
|
|
||||||
bckr | 2025/05/02 21:35:49 Archive sent successfully: backup_2025-05-02_21-35-47.zip
|
|
||||||
bckr | 2025/05/02 21:38:39
|
|
||||||
<EFBFBD>¬ď ®ˇŕ § PID <20>¬ď áĄáᨨ ü áĄ á Ź ¬ďâě
|
|
||||||
========================= ======== ================ =========== ============
|
|
||||||
bckr.exe 2520 Console 1 6˙316 Š<>
|
|
||||||
|
|
||||||
bckr | 2025/05/02 21:38:39 Archive created successfully: backup_2025-05-02_21-38-39.zip
|
|
||||||
bckr | 2025/05/02 21:38:41 Archive sent successfully: backup_2025-05-02_21-38-39.zip
|
|
||||||
bckr | 2025/05/02 21:39:41 Archive created successfully: backup_2025-05-02_21-39-41.zip
|
|
||||||
bckr | 2025/05/02 21:39:42 Archive sent successfully: backup_2025-05-02_21-39-41.zip
|
|
||||||
bckr | 2025/05/02 21:40:42 Archive created successfully: backup_2025-05-02_21-40-42.zip
|
|
||||||
bckr | 2025/05/02 21:40:44 Archive sent successfully: backup_2025-05-02_21-40-42.zip
|
|
||||||
bckr | 2025/05/02 21:42:02 [34 98 99 107 114 46 101 120 101 34 44 34 49 55 48 50 52 34 44 34 67 111 110 115 111 108 101 34 44 34 49 34 44 34 54 255 56 49 54 32 138 129 34 13 10]
|
|
||||||
bckr | 2025/05/02 21:42:19 "bckr.exe","16532","Console","1","6˙784 Š<>"
|
|
||||||
|
|
||||||
bckr | 2025/05/02 21:43:47 Running
|
|
||||||
bckr | 2025/05/02 21:44:46 42
|
|
||||||
bckr | 2025/05/02 21:44:46 Running
|
|
||||||
bckr | 2025/05/02 21:46:42 1
|
|
||||||
bckr | 2025/05/02 21:46:42 Running
|
|
||||||
bckr | 2025/05/02 21:47:52 No running
|
|
||||||
bckr | 2025/05/02 21:47:52 Archive created successfully: backup_2025-05-02_21-47-52.zip
|
|
||||||
bckr | 2025/05/02 21:47:54 Archive sent successfully: backup_2025-05-02_21-47-52.zip
|
|
||||||
bckr | 2025/05/02 21:48:40 Running
|
|
||||||
bckr | 2025/05/02 21:48:54 Archive created successfully: backup_2025-05-02_21-48-54.zip
|
|
||||||
bckr | 2025/05/02 21:48:55 Archive sent successfully: backup_2025-05-02_21-48-54.zip
|
|
||||||
bckr | 2025/05/02 21:49:24 No running
|
|
||||||
bckr | 2025/05/02 21:49:24 Archive created successfully: backup_2025-05-02_21-49-24.zip
|
|
||||||
bckr | 2025/05/02 21:49:25 Archive sent successfully: backup_2025-05-02_21-49-24.zip
|
|
||||||
bckr | 2025/05/02 21:49:28 Running
|
|
||||||
bckr | 2025/05/02 21:49:28 Running
|
|
||||||
bckr | 2025/05/02 21:49:29 Running
|
|
||||||
bckr | 2025/05/02 21:49:29 Running
|
|
||||||
bckr | 2025/05/02 21:52:14 Archive created successfully: backup_2025-05-02_21-52-14.zip
|
|
||||||
bckr | 2025/05/02 21:52:15 Archive sent successfully: backup_2025-05-02_21-52-14.zip
|
|
||||||
bckr | 2025/05/02 21:52:17 Already running
|
|
||||||
bckr | 2025/05/02 21:53:02 Already running
|
|
||||||
bckr | 2025/05/02 21:53:16 Archive created successfully: backup_2025-05-02_21-53-15.zip
|
|
||||||
bckr | 2025/05/02 21:53:17 Archive sent successfully: backup_2025-05-02_21-53-15.zip
|
|
||||||
bckr | 2025/05/02 21:54:18 Archive created successfully: backup_2025-05-02_21-54-17.zip
|
|
||||||
bckr | 2025/05/02 21:54:19 Archive sent successfully: backup_2025-05-02_21-54-17.zip
|
|
||||||
bckr | 2025/05/02 22:01:57 Archive created successfully: backup_2025-05-02_22-01-57.zip
|
|
||||||
bckr | 2025/05/02 22:01:59 Archive sent successfully: backup_2025-05-02_22-01-57.zip
|
|
||||||
bckr | 2025/05/02 22:02:05 Already running. Shutdown...
|
|
||||||
bckr | 2025/05/02 22:03:25 Archive created successfully: backup_2025-05-02_22-03-24.zip
|
|
||||||
bckr | 2025/05/02 22:03:26 Archive sent successfully: backup_2025-05-02_22-03-24.zip
|
|
||||||
bckr | 2025/05/02 22:03:30 Already running. Shutdown...
|
|
||||||
bckr | 2025/05/02 22:06:32 Archive created successfully: backup_2025-05-02_22-06-32.zip
|
|
||||||
bckr | 2025/05/02 22:06:33 Archive sent successfully: backup_2025-05-02_22-06-32.zip
|
|
||||||
bckr | 2025/05/02 22:06:47 Already running. Shutdown...
|
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
.bckr.json
|
bckr.json
|
||||||
|
.bckr.log
|
||||||
*.exe
|
*.exe
|
70
main.go
70
main.go
|
@ -19,8 +19,13 @@ import (
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
LOG_FILE_PATH = ".bckr.log"
|
||||||
|
CONFIG_FILE_PATH = "bckr.json"
|
||||||
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
logFile, err := os.OpenFile(".bckr.log", os.O_CREATE|os.O_APPEND|os.O_WRONLY, 0644)
|
logFile, err := os.OpenFile(LOG_FILE_PATH, os.O_CREATE|os.O_APPEND|os.O_WRONLY, 0644)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
|
@ -30,6 +35,19 @@ func init() {
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
|
||||||
|
if !fileExists(CONFIG_FILE_PATH) {
|
||||||
|
if err := createDefaultConfig(); err != nil {
|
||||||
|
log.Println(err)
|
||||||
|
}
|
||||||
|
msg := fmt.Sprintf("Please fill in the configuration file (%s) in current dir", CONFIG_FILE_PATH)
|
||||||
|
log.Println(msg)
|
||||||
|
fmt.Println(msg)
|
||||||
|
fmt.Print("Press any key to exit...")
|
||||||
|
var b [1]byte
|
||||||
|
os.Stdin.Read(b[:])
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// Если процесс процесс с именем этого исполняемого файла уже запущен
|
// Если процесс процесс с именем этого исполняемого файла уже запущен
|
||||||
// то закрываем и его и текущий процесс
|
// то закрываем и его и текущий процесс
|
||||||
exeName := filepath.Base(os.Args[0])
|
exeName := filepath.Base(os.Args[0])
|
||||||
|
@ -38,15 +56,16 @@ func main() {
|
||||||
if err := killProcByExeName(exeName); err != nil {
|
if err := killProcByExeName(exeName); err != nil {
|
||||||
log.Println("Cant kill proc")
|
log.Println("Cant kill proc")
|
||||||
}
|
}
|
||||||
os.Exit(0)
|
return
|
||||||
}
|
}
|
||||||
|
//
|
||||||
|
|
||||||
hideConsoleWindow()
|
hideConsoleWindow()
|
||||||
|
|
||||||
for {
|
for {
|
||||||
|
|
||||||
// Загрузка конфига
|
// Загрузка конфига
|
||||||
config, err := loadConfig(".bckr.json")
|
config, err := loadConfig(CONFIG_FILE_PATH)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
|
@ -96,9 +115,43 @@ func loadConfig(configPath string) (*config, error) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cfg.IgnoreFilesOrDirs = removeEmptyStrings(cfg.IgnoreFilesOrDirs)
|
||||||
return cfg, nil
|
return cfg, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func removeEmptyStrings(slice []string) []string {
|
||||||
|
var result []string
|
||||||
|
for _, s := range slice {
|
||||||
|
if s != "" {
|
||||||
|
result = append(result, s)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
|
func createDefaultConfig() error {
|
||||||
|
defaultConfig := config{
|
||||||
|
TGYourBotToken: "",
|
||||||
|
TGYourUserId: "",
|
||||||
|
IntervalInSeconds: 60,
|
||||||
|
TargetsFilesOrDirs: []string{""},
|
||||||
|
IgnoreFilesOrDirs: []string{""},
|
||||||
|
}
|
||||||
|
|
||||||
|
configData, err := json.MarshalIndent(defaultConfig, "", " ")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
err = os.WriteFile(CONFIG_FILE_PATH, configData, 0644)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func createArchive(archiveName string, targets, ignore []string) error {
|
func createArchive(archiveName string, targets, ignore []string) error {
|
||||||
// Создание файла архива
|
// Создание файла архива
|
||||||
archiveFile, err := os.Create(archiveName)
|
archiveFile, err := os.Create(archiveName)
|
||||||
|
@ -140,11 +193,7 @@ func createArchive(archiveName string, targets, ignore []string) error {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
if slices.Contains(ignorePaths, absPath) {
|
return slices.Contains(ignorePaths, absPath)
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
return false
|
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
|
|
||||||
|
@ -270,6 +319,11 @@ func TGBotSendFile(botToken, userId, filePath, caption string) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func fileExists(filename string) bool {
|
||||||
|
_, err := os.Stat(filename)
|
||||||
|
return !os.IsNotExist(err)
|
||||||
|
}
|
||||||
|
|
||||||
func killProcByExeName(exeName string) error {
|
func killProcByExeName(exeName string) error {
|
||||||
if runtime.GOOS == "windows" {
|
if runtime.GOOS == "windows" {
|
||||||
cmd := exec.Command("taskkill", "/IM", exeName, "/F", "/T")
|
cmd := exec.Command("taskkill", "/IM", exeName, "/F", "/T")
|
||||||
|
|
Loading…
Reference in New Issue