105.45M 13% 602.83kB/s 0:02:50 (xfr#495, ir-chk=1020/3825)
Означает, что:
Кроме того, xfr # 495 означает, что в настоящее время передается 495-й файл, а ir-chk = 1020/3825 указывает, что из общего количества (пока) 3825 файлов рекурсивно просканированы (обнаружены), на данный момент 1020 из них еще предстоит проверить / верифицировать.
Это означает, что если сканирование обнаруживает, например, если нужно проверить еще 100 файлов, обе стороны увеличиваются на 100 (тогда будет прочитано ir-chk = 1120/3925 ). После того, как все файлы были просканированы (обнаружены с помощью инкрементального рекурсивного сканирования), число справа от косой черты останется неизменным до конца всего процесса, а число слева от косой черты начнет уменьшаться. по мере того как проверяется (проверяется) все больше и больше файлов. Кроме того, из-за окончания рекурсии ir-chk изменится на to-chk , указывая на то, что сканирование с добавочной рекурсией завершилось, выполняя свою проверку (операцию обнаружения файлов).Тем не менее, поскольку файлы будут продолжать проверяться / проверяться до тех пор, пока все они не будут проверены, количество файлов, которые еще предстоит проверить / проверить (левая часть косой черты), будет уменьшаться до тех пор, пока это число не станет равным нулю (что указывает на конец процесса проверки файла) .
Пусть N будет фактическим общим количеством файлов, которые необходимо проверить / подтвердить, когда весь процесс завершится, вы увидите:
to-chk=0/N
... означает, что файла нет осталось проверить / проверить из общего числа N файлов, которые были обнаружены с помощью инкрементального рекурсивного сканирования.
О ir-chk (из справочной страницы rsync):
При инкрементном рекурсивном сканировании rsync не будет знать общее количество файлов в списке файлов, пока он достигает конца сканирования , но поскольку он начинает передавать файлы во время сканирования, он отображает строку с текстом "ir-chk" (для инкрементальной рекурсии {{1} } check) вместо "to-chk" до тех пор, пока он не узнает полный размер списка, после чего он переключится на использование "to-chk". Таким образом, вид «ir-chk» позволяет узнать, что общее количество файлов в списке файлов все еще будет увеличиваться (и каждый раз, когда это происходит, количество файлов, оставшихся для проверки увеличится на количество файлов, добавленных в список).
Это вставляет после всех строк # SPECIAL_JOB
строки $line
.
crontab -l | sed '/# SPECIAL_JOB/a'"$line" | crontab -
Чтобы избежать проблем со специальными символами в тексте замены, я бы поместил новую запись cron в файл с именем, например new-entry
, а затем использовал:
{ crontab -l | sed '/^# SPECIAL_JOB/{
n
r /path/to/new-entry
d
}' } | crontab -
Я сделал незначительное изменение скобок подоболочки (
... )
на простые фигурные скобки {
... }
, потому что нет реальной необходимости создавать подоболочку; тоже без вреда!
Затем я использую sed для разбора входящего текста; он ищет строку, начинающуюся с # SPECIAL_JOB
, а затем выполняет три действия:
# SPECIAL_JOB
)r
читает задание из вашего файла d
удаляет строку, которая раньше следовала за# SPECIAL_JOB
--старым заданием.