Когда я использую zip, как я могу отобразить полный прогресс, не лавинно рассылая командную строку?

Что-то вдоль цепочки приводит к таймауту неактивного соединения, так как SSH ничего обычно не отправляет, когда неактивный. Но, можно заставить его отправить сообщения периодически, когда неактивный. В версии 3.8 OpenSSH и:

$ ssh -oServerAliveInterval=60 myremotebox

Если Вы идете в ssh вручную к этому хосту часто, Вы, вероятно, хотите вставить его Ваш ~/.ssh/config файл вместо этого:

Host myremotebox
    ServerAliveInterval=60

Это говорит этому отправлять пустой пакет каждые 60 секунд после того, как ничто иное не было отправлено. Я нашел через большое разнообразие инфраструктуры, что этого достаточно для поддержания соединения.

В пред3.8 версиях OpenSSH у Вас нет этой опции, но существует слабая нейтрализация. Можно установить KeepAlive опция, которая использует сообщения проверки активности TCP. Путем это работает, зависимо от операционной системы, и часто изменение его поведения влияет на все приложения. Худшие, сетевые стеки обычно значение по умолчанию к отправке сообщений проверки активности TCP каждые 2 часа по умолчанию, таким образом, почти необходимо изменить значение по умолчанию, если Вы собираетесь использовать его этот путь, так как вещь, приводящая к таймауту Вашего соединения SSH, вероятно, имеет неактивный порог намного ниже, чем 2 часа.

Отметьте при чтении версии 3.8 + документы что это - то же самое как TCPKeepAlive опция. Когда они добавили "сервер живая" опция в 3,8, они переименовали KeepAlive кому: TCPKeepAlive отличать два.

25
17.01.2015, 16:24
5 ответов

Я бы избежал любой арифметической операции и использовал -gauge , как задокументировано («новые проценты считываются из стандартного ввода»):

for ((i=0;i<=100;i+=10)); do echo $i; sleep 1; done | dialog --gauge "Please wait 10 seconds." 0 0
-121--217818-

Попробуйте добавить audit = 0 в строку ядра.

Это подарок systemd , известный как ограничение кода аудита в ядре, и отслеживается здесь.

Требуется исправление в ядре.

Ссылка Леннарта Поэттеринга

-121--114684-

застежек -молний может сжимать данные до стандартного вывода. Поэтому его можно объединить с другими инструментами, такими как pv :

zip -qr - [folder] | pv -bep -s $(du -bs [folder] | awk '{print $1}') > [file.zip]

Для удобства удалите один из параметров -bep .

11
27.01.2020, 19:40

Если вы согласны использовать 7z:

7z a output.zip folder/

Это даст вам индикатор выполнения, подобный этому:

Open archive: test.zip
--
Path = test.zip
Type = zip
Physical Size = 232039663

Scanning the drive:
3 folders, 2401 files, 238122225 bytes (228 MiB)

Updating archive: test.zip

Items to compress: 2404

 16% 279 U folder/file.txt  
14
27.01.2020, 19:40

Я бы использовал выражение grep

egrep -c '^([-d][rwx-]{9})'

По крайней мере, для меня в Ubuntu каталог не начинается с "/", а скорее с "d" (уверен, что вы можете использовать только [ -d], но я не был уверен в рекурсивном выводе 'ls '.

drwxr-xr-x  3 user user 4096 apr 14  2015 gems

Также обратите внимание, что здесь мы не учитываем скрытые файлы (или, лучше сказать, первый экземпляр команды, написанной Лефтерис ). А из-за "." и ".." Я бы сказал, что счетчики будут отклоняться (, чем сложнее дерево каталогов, тем хуже оценка pv ), если мы используем переключатель "-a". Так что об этом также можно как-то позаботиться в grep или, возможно, в ls в зависимости от вашей системы.

0
22.07.2020, 16:14

Используйте параметр (-q )[ --тихий], например zip -q....подробнее см. man ziphttps://linux.die.net/man/1/zip

1
18.03.2021, 22:21

Лучше использовать:

cat INPUTFILE.img | pv -bep -s $(du -bs INPUTFILE.img | awk '{print $1}') | zip -q > OUTPUTFILE.zip

В этом случае вы видите реальный процент данных через "PV" Единственная проблема теперь это имя файла, которое можно решить:

echo -e "@ -\n@=NEWNAME.img" | zipnote -w OUTPUTFILE.zip

Или обе команды в одной строке:

cat INPUTFILE.img | pv -bep -s $(du -bs INPUTFILE.img | awk '{print $1}') | zip -q > OUTPUTFILE.zip ; echo -e "@ -\n@=NEWNAME.img" | zipnote -w OUTPUTFILE.zip
0
28.10.2021, 12:51

Теги

Похожие вопросы