Як приховати рядки "Додатковий файл" та "100%" від результатів роботи робочої копії?


17

У мене є сценарій роботизації для резервного копіювання наших сховищ Kiln, які працюють щоночі, який виглядає приблизно так:

robocopy "$liveRepoLocation" "$cloneRepoLocation" /MIR /MT /W:3 /R:100 /LOG:"$backupLogLocation\BackupKiln.txt" /NFL /NDL /NP

У висновку є тона рядків, що містять "Додатковий файл", наприклад:

*EXTRA File              153    E:\Kiln Backup\elasticsearch\data\elasticsearch-kiln\nodes\0\indices\kiln-2\0\index\_yxe.fdt
*EXTRA File               12    E:\Kiln Backup\elasticsearch\data\elasticsearch-kiln\nodes\0\indices\kiln-2\0\index\_yxe.fdx
*EXTRA File              128    E:\Kiln Backup\elasticsearch\data\elasticsearch-kiln\nodes\0\indices\kiln-2\0\index\_yxe.fnm
*EXTRA File              363    E:\Kiln Backup\elasticsearch\data\elasticsearch-kiln\nodes\0\indices\kiln-2\0\index\_yxe.frq
*EXTRA File               13    E:\Kiln Backup\elasticsearch\data\elasticsearch-kiln\nodes\0\indices\kiln-2\0\index\_yxe.nrm

Крім того, внизу є сотні рядків, які не містять нічого, окрім "100%", наприклад:

100%  
100%  
100%  
100%  
100%  
100%  
100%  

На додаток до того, що файли журналів є величезними (у папок Kiln дуже багато папок / файлів), це дратує сканування журналів раз у раз і перевірити, чи все працює добре.

  1. Як зупинити показ "зайвих файлів" у журналі? (редагувати: цілі рядки, а не лише текст, оскільки / NC зупиняться)
  2. Як я можу зупинити появу цих нерозумних "100%" рядків у журналі?

Я пробував будь-яку комбінацію комутаторів, про яку я можу придумати (поточні перемикачі перелічені вище в команді), але ні, схоже, не приховую їх!


Згідно ss64.com/nt/robocopy.html це повинно працювати. Ви спробували змінити порядок парам, щоб віддзеркалити документацію? Це було б: / L / NP / LOG: файл / UNILOG: файл / LOG +: файл / UNILOG +: файл / TS / FP / NS / NC / NFL / NDL / TEE / NJH / NJS
Luiz Angelo

Відповіді:


8

Щойно зауважив, що ви там не вистачаєте.

/ NC: Ні класу - не записуйте класи файлів.

Файли класів - це ... Що означає робокопія під накрученою, самотньою та зайвою?

Тож я б спробував: robocopy "$ liveRepoLocation" "$ cloneRepoLocation" / MIR / MT / W: 3 / R: 100 / NP /LOG:"$backupLogLocation\BackupKiln.txt "/ NC

Редагуйте 1

Моє ліжко. Не бачили, що ви вже згадували про пробу / NC

Я тестував тут. Здається, що параметр / MIR ігнорує параметри журналу. Також / MT псує це, додаючи 100%.

Єдиним способом я працював

D: \ robocopy> призначення джерела роботизованої копії / MIR / W: 3 / R: 100 / NS / NC / NFL / NDL / NP /LOG:log.txt ".

* Це насправді працює з / MIR. Але вам потрібно вказати / NFL та /NDL.* Не знаю, чи прийнятно це для вас.

Якщо ви спробуєте / MT, це все одно покаже нерозумне 100%

Редагувати 2

Я знаю, що питання стосувалося роботизації Robocopy, але я думаю, ви повинні спробувати RichCopy http://technet.microsoft.com/en-us/magazine/2009.04.utilityspotlight.aspx

Ось командний рядок:

richcopy "D: \ robocopy \ source" "D: \ robocopy \ призначення" / P / QO / QP "D: \ robocopy \ report.log" / UE / US / UD / UPC / UFC / USC / UPR / UET

Він запускає графічний інтерфейс RichCopy і закривається після завершення.

А ось і журнал

28/11/2012 11: 35: 19,0, початок копіювання,

28/11/2012 11: 35: 20,0, Шлях до джерела: D: \ robocopy \ source,

28/11/2012 11: 35: 20,0, Пункт призначення: d: \ robocopy \ призначення,

28/11/2012 11: 35: 20,0, кількість вихідних файлів: 12 файлів,

28/11/2012 11: 35: 20,0, кількість скопійованих файлів: 13 файлів,

28/11/2012 11: 35: 20,0, кількість очищених файлів: 1224 файли,

28/11/2012 11: 35: 20,0, минуло часу: 00:00:01,

28/11/2012 11: 35: 20,0, середня продуктивність: 1,641,528 байт / сек,

28/11/2012 11: 35: 20,0, середня продуктивність: 13 файлів / сек,

28.11.2012 11: 35: 20,0, Копія завершена, D: \ robocopy \ джерело


1
/ NC просто видаляє стовпчик "Додатковий файл", тому текст не відображається. Решта рядка все ж включена. Я взагалі не хочу лінії; Я просто хочу підсумок :(
Danny Tuppeny

Моє ліжко. Не бачив, що ви вже про це згадували. Я тестував тут. Здається, що параметр / MIR ігнорує параметри журналу. Також / MT псує це. Єдиний спосіб, коли я працював - це "D: \ robocopy> призначення джерела роботокопії / MIR / W: 3 / R: 100 / NS / NC / NFL / NDL / NP / LOG:log.txt". Якщо ви спробуєте / MT, він все одно покаже нерозумне 100%.
Луїз Анджело

1
100% - це найгірша частина (набагато більше, ніж зайві файли); не зрозумів, що це робить МТ, тому може зняти це, якщо це не дає величезної користі!
Danny Tuppeny

Позначте це як правильне, оскільки це рішення для 100% 's, і я не думаю, що існує рішення для "додаткового файлу" входу в систему / MIR :(
Danny Tuppeny

Я щойно відредагував свою оригінальну відповідь. Просто опублікуйте новий коментар, щоб ви його не пропустили.
Луїз Анджело

5

/XXОпція виключає додаткові файли з перерахованих. Зрозуміло, ця опція вказана в File Selectionопціях, а не Logging. /XЯ думаю, це протилежне варіанту ведення журналу.


1
Я вважаю, що XX / перешкоджає вибору зайвих файлів, а / X призначений лише для ведення журналу, але дозволяє відображати ВІДБІЛЬШЕ зайвих файлів! / XX зробив для мене трюк.
sonjz

1
-1, оскільки / XX залишає зайвий файл у пункті призначення, а не видаляти його, як очікувалося від дзеркального процесу.
позначка

3

Я думаю, це може спрацювати:

robocopy sourceDir targetDir *.* /njh /njs /ndl /np | find /v "*EXTRA File"

Тож просто передайте висновок "find" разом з / V для виключення рядків, які містять вказаний текст "* Extra File".


Як виключити% прогрес (від 0 до 100% лічильника) лише з журналу (але все ще видно на консолі)?
PeterCo

0

як щодо використання перемикачів

 /MIR /MT /W:3 /R:100 /NFL /NDL /NP 2>&1 | findstr /v /L /C:" * EXTRA " | findstr /v /L /C:"100%%" > "log file name with or without path"

так у вас є

robocopy "$liveRepoLocation" "$cloneRepoLocation" /MIR /MT /W:3 /R:100 /NFL /NDL /NP 2>&1 | findstr /v /L /C:" * EXTRA " | findstr /v /L /C:"100%%" > "$backupLogLocation\BackupKiln.txt"
  • у подвійному %% потрібно мати% в рядку пошуку
  • 2> & 1 перенаправляє Потік Stderr на стандартний висновок , що деякі повідомлення записуються в стандартний висновок , і ми хочемо , щоб захопити ці рядки , як перемикач / LOG робить.
  • 2 команди findstr за допомогою перемикача / v знаходять усі рядки, які не містять рядок пошуку
  • > «Лог - файлу протоколу» перенаправляє остаточний висновок в файл журналу. Якщо ви зазвичай використовуєте / LOG: +, замість цього використовуйте >> "ім'я файлу журналу"

Примітки: якщо ви використовуєте це в скрипті повноважень, як вам здається, вам потрібно використовувати findstr, а не знайти як ви можете у файлі .bat або .cmd. Зверніть увагу, що / L і / C: не підтримуються знаходженням, але для команди find вони не потрібні.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.