Попробуйте это.
#!/bin/bash
#
yesterday=$(date --utc --date 'yesterday' +'%Y-%m-%d')
for hour in {0..23}
do
printf "https://abcd.com/logs?start=%sT%02d:00:00Z&end=%sT%02d:59:59Z\n" $yesterday $hour $yesterday $hour
done
Случайные високосные секунды не обрабатываются. Если вам это нужно, используйте этот более сложный код, где последний диапазон дня, возможно, должен перейти от 23:00:00
к 23:59:60
, но убедитесь, что ваше целевое приложение также может обрабатывать это:
#!/bin/bash
#
yesterday=$(date --utc --date 'yesterday' +'%Y-%m-%d')
leapsecond=$(date --utc --date @$(( $(date --utc --date '00:00:00' +%s) -1 )) +'%S')
lastsecond=59
for hour in {0..23}
do
[[ hour == 23 ]] && lastsecond=$leapsecond
printf "https://abcd.com/logs?start=%sT%02d:00:00Z&end=%sT%02d:59:%02dZ\n" $yesterday $hour $yesterday $hour $lastsecond
done
Начиная с Debian buster
,вы можете использоватьfind-dbgsym-packages
из пакета debian-goodies
.
find-dbgsym-packages lists all *-dbgsym packages required to properly debug processes given by a list of executables, libraries, core dumps or PID numbers.
readelf -Wa
предоставит подробную информацию о дампе ядра, включая сопоставленные файлы (ищитеNT_FILE
). Вы должны установить символы отладки для любого файла, который является двоичным или библиотекой. Чтобы найти соответствующие пакеты, установите apt-file
, если вы еще этого не сделали, запустите sudo apt update
, чтобы обновить его индексы, и запустите
apt-file search /path/to/file
Например, если /usr/lib/x86_64-linux-gnu/libpcre2-8.so.0.7.1
отображается в списке сопоставленных файлов в данном дампе ядра,
$ apt-file search /usr/lib/x86_64-linux-gnu/libpcre2-8.so.0.7.1
libpcre2-8-0: /usr/lib/x86_64-linux-gnu/libpcre2-8.so.0.7.1
Кроме того, это говорит вам, что вам нужно установить libpcre2-8-0-dbgsym
, чтобы иметь соответствующие символы отладки.
(Да, это несколько более громоздко, чем должно быть. Другие дистрибутивы делают это проще...)