ssh timeout с rsync и Ubuntu 18,10

Обнаружены некоторые ошибки:

  1. Шебанг должен быть #! / Bin / sh. Все # являются синтаксической ошибкой.
  2. Строки 15-21 в точности равны строкам 4-11 (удалите их).
  3. Строка 58 отсутствует $ в Col2 var для Column_list =
  4. Строка 59, эхо "$ Column_list"> big_data_file _ $$ удалит всю информацию, ранее записанную в big_data_file $$ . Измените на >> .
  5. Строка 93, 103, 112, 124 if [ должна быть изменена на if [.
  6. Строка 114, echo "Категория должна содержать пробел: echo" Категория .
  7. Строка 129, есть три замыкающих ) , удалите один.
  8. Строка 129, конструкция (()) недопустима в sh (ваш shebang).
  9. Отсутствует многократное закрытие fi (минимум 5) и, возможно, сделано .

Я устал. Протестируйте свой код, очистите его, сделайте домашнюю работу.

4
04.04.2019, 13:26
2 ответа

Если это должна быть одна строка:

stat -c %Y./* 2>/dev/null | awk -v d="$(date +%s)" 'BEGIN {m=d} $0 < m {m = $0} END {print d - m}'
  • stat -c %Y./* 2>/dev/nullпечатать временные метки всех файлов, игнорируя ошибки (, поэтому отсутствие файлов приводит к отсутствию вывода)
  • С помощью awk:

    • -v d="$(date +%s)"сохранить текущую метку времени в переменнойd
    • BEGIN {m=d}инициализировать mнаd
    • $0 < m {m = $0}отслеживание минимума вm
    • END {print d - m}распечатать разницу.
4
27.01.2020, 20:48

С zshиperl:

perl -le 'print 0+-M $ARGV[0]' /path/to/dir/*(N-Om[1])

(добавьте квалификатор Dglob, если вы также хотите учитывать скрытые файлы (, но не .и не..)).

Обратите внимание, что для символических ссылок учитывается время модификации файла, в который они преобразуются. Удалите -в квалификаторах glob, чтобы вместо (учитывать время модификации символической ссылки, и используйте (lstat$ARGV[0] && -M _)в perl, чтобы получить возраст символической ссылки ).

Это дает возраст в днях. Умножьте на 86400, чтобы получить количество секунд:

perl -le 'print 86400*-M $ARGV[0]' /path/to/dir/*(N-Om[1])
  • (N-Om[1]):квалификатор глоба :
    • N:включает nullglobдля этого шара. Поэтому, если в каталоге нет файла, расширяется до нуля, заставляя perl-Mвозвращать undef.
    • -:заставляет квалификаторы next glob применяться к цели символических ссылок
    • Om:обратная (заглавная )порядок по времени модификации (таким образом, от самого старого к самому новому какls -rt)
    • [1]:выбрать только первый подходящий файл
  • -M file:получает возраст содержимого файла.
  • 0+или 86400*принудительное преобразование в номер (для случая undef).
6
27.01.2020, 20:48

Теги

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