При переносе резервных копий, архивов и образов дисков важно не только завершить передачу, но и убедиться, что полученный файл полностью совпадает с исходным. Связка rsync и SHA-256 позволяет возобновлять прерванное копирование и проверять данные перед дальнейшим использованием.
В этом посте:
• Создаём контрольную сумму исходного файла через sha256sum;
• Передаём большие файлы по SSH с возможностью продолжить прерванное копирование;
• Проверяем целостность полученных данных по SHA-256;
• Настраиваем проверку перед дальнейшей обработкой и используем rsync --dry-run.
Проверка контрольной суммы позволяет обнаружить изменения содержимого, которые нельзя выявить простым сравнением размеров файлов.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14❤9👍9🤝1
This media is not supported in your browser
VIEW IN TELEGRAM
В репозитории собраны ключевые навыки, необходимые для разработки веб-приложений: от Linux, Docker, сетей и баз данных до HTTP, безопасности, мониторинга и проектирования систем. Удобно, что темы расположены в рекомендуемом порядке изучения, разделены по уровням сложности и дополнены пояснениями о том, где и зачем эти знания применяются.
Оставляю ссылочку: GitHub📱
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12❤7👍6🤝1
В util-linux есть инструмент lsfd, который позволяет фильтровать открытые файловые дескрипторы по их свойствам!
Например, на сервере закончилось место, вы удалили огромный лог, но свободное пространство так и не появилось. Часто причина в том, что процесс продолжает держать удалённый файл открытым.
Вместо ручного поиска по
Фильтр
Можно сразу вывести только интересующие поля:
Так становится видно, какой процесс удерживает файл и к какому пути тот относился.
А самое интересное —
Это удобно при разборе утечек дескрипторов, проблем с освобождением места и неожиданного поведения долгоживущих сервисов.
🔥
🚪 Linux Ready | #совет
Например, на сервере закончилось место, вы удалили огромный лог, но свободное пространство так и не появилось. Часто причина в том, что процесс продолжает держать удалённый файл открытым.
Вместо ручного поиска по
/proc можно использовать lsfd:sudo lsfd -Q 'DELETED'
Фильтр
-Q позволяет выбирать дескрипторы по выражению, а DELETED — находить открытые файлы, которые уже удалены из файловой системы.Можно сразу вывести только интересующие поля:
sudo lsfd -Q 'DELETED' \
-o PID,COMMAND,NAME
Так становится видно, какой процесс удерживает файл и к какому пути тот относился.
А самое интересное —
lsfd умеет не просто показывать список, а выполнять выборки по свойствам дескрипторов:# Дескрипторы конкретного процесса
sudo lsfd -Q 'PID == 1234'
Это удобно при разборе утечек дескрипторов, проблем с освобождением места и неожиданного поведения долгоживущих сервисов.
lsfd превращает диагностику файловых дескрипторов в обычную фильтруемую выборку. Полезно, когда нужно быстро найти конкретный класс открытых файлов, а не просматривать огромный список вручную.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤7👍6
В этой статье:
• Узнаете, почему автор после 15 лет использования Linux отказался от сложных конфигураций в пользу Fedora с GNOME;• Разберёте, когда i3, кастомные панели, dotfiles и скрипты действительно полезны, а когда лишь усложняют работу;• Задумаетесь, почему постоянная настройка окружения часто создаёт иллюзию продуктивности, не ускоряя решение реальных задач.🔊 Продолжай читать на Habr!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤9🔥5
Клиенты переезжают в VK и Max. Ботов нужно переносить. Рук не хватает.
Бизнесу срочно нужны чат-боты под новые мессенджеры. Собирать их может любой, кто умеет пользоваться компьютером: код не нужен, всё делается на конструкторе по готовым шаблонам, как пазл.
Как проходит обучение:
Изучаешь конструктор → Собираешь первого бота по шаблону → Наставник проверяет → Берёшь первого клиента из нашей базу.
3–4 часа в день, график свободный, опыт не нужен.
Это обучение, а не вакансия. Мы показываем, как зарабатывать на ботах, и помогаем найти первых клиентов. Доход зависит от вашей активности.
Новички без опыта обычно выходят на 50–80 тыс ₽ в месяц,
и за год легко вырастают до 200 тыс ₽ и выше.
Всё, что нужно для старта — запустить обучение
👉@pautov_techspec_bot
Бизнесу срочно нужны чат-боты под новые мессенджеры. Собирать их может любой, кто умеет пользоваться компьютером: код не нужен, всё делается на конструкторе по готовым шаблонам, как пазл.
Как проходит обучение:
Изучаешь конструктор → Собираешь первого бота по шаблону → Наставник проверяет → Берёшь первого клиента из нашей базу.
3–4 часа в день, график свободный, опыт не нужен.
Это обучение, а не вакансия. Мы показываем, как зарабатывать на ботах, и помогаем найти первых клиентов. Доход зависит от вашей активности.
Новички без опыта обычно выходят на 50–80 тыс ₽ в месяц,
и за год легко вырастают до 200 тыс ₽ и выше.
Всё, что нужно для старта — запустить обучение
👉@pautov_techspec_bot
😁9👎5🔥1
Как принудительно ограничить аппетит прожорливого процесса, чтобы он не использовал весь процессор и не вешал сервер?
Когда тяжелый скрипт, бэкап или процесс компиляции внезапно забивает
Ограничение уже запущенного процесса по его идентификатору
Утилита перехватит управление процессом
Запуск новой тяжелой задачи с автоматическим и мгновенным лимитированием ресурсов:
Архивация начнется в фоне, но процесс гарантированно будет использовать не более четверти процессорного времени.
Важно: cpulimit высчитывает проценты от общего числа ядер (на 4-ядерном процессоре лимит 200% означает полную загрузку двух ядер), и для работы с чужими процессами понадобятся права
🔥 Помогает на лету усмирить любой фоновый скрипт или парсер, сохраняя стабильность и отзывчивость всей ОС.
🚪 Linux Ready | #совет
Когда тяжелый скрипт, бэкап или процесс компиляции внезапно забивает
CPU под 100%, сервер перестает отвечать, а соседние сервисы начинают падать. Вместо радикального убийства процесса через kill можно использовать утилиту cpulimit, которая динамически контролирует его работу, отправляя сигналы остановки и возобновления, удерживая нагрузку в жестких рамках.Ограничение уже запущенного процесса по его идентификатору
(PID) до заданного процента мощности:
$ cpulimit -p 1234 -l 40
Утилита перехватит управление процессом
1234 и не позволит ему занять более 40% от одного ядра CPU.Запуск новой тяжелой задачи с автоматическим и мгновенным лимитированием ресурсов:
$ cpulimit -l 25 -- tar -czf backup.tar.gz /var/www
Архивация начнется в фоне, но процесс гарантированно будет использовать не более четверти процессорного времени.
Важно: cpulimit высчитывает проценты от общего числа ядер (на 4-ядерном процессоре лимит 200% означает полную загрузку двух ядер), и для работы с чужими процессами понадобятся права
sudo.🔥 Помогает на лету усмирить любой фоновый скрипт или парсер, сохраняя стабильность и отзывчивость всей ОС.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤6🔥5
В этом посте собраны основные команды Bash для управления фоновыми процессами. Рассмотрены запуск и мониторинг заданий, переключение между передним и фоновым режимами, защита от SIGHUP, ожидание завершения процессов и запуск в отдельной сессии. Полезно для администрирования Linux, работы через SSH и автоматизации задач.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16❤5👍4🤝2
7 дней бесплатного обучения во Frontend-разработке!
🔥 Ухвати свой шанс погрузиться в мир Frontend-разработки на нашем бесплатном онлайн-интенсиве! Интересные уроки, практическая работа и поддержка куратора — всё это доступно тебе прямо сейчас.
Всего за 7 дней ты:
1. Сгенерируешь сайт через Giga, DeepSeek, ChatGPT;
2. Сверстаешь весь сайт на HTML + CSS с правильным адаптивом;
3. Оживишь проект на JavaScript: логика, расчёты и трекинг заказов;
4. Подключишь карты и API, увидишь, как данные работают в настоящем продукте;
5. Получишь экспертные советы, как улучшить свои проекты и вывести их на профессиональный уровень.
В итоге добавишь в своё портфолио уникальный проект сервиса доставки, доступный по ссылке, который повысит твою ценность как специалиста.
🔥 С нас обучение, практика и поддержка на пути к фрилансу.
С тебя участие в интенсиве
👉 Начать бесплатное обучение
Не упусти шанс получить мощный заряд уверенности для дальнейшего роста в разработке!
🔥 Ухвати свой шанс погрузиться в мир Frontend-разработки на нашем бесплатном онлайн-интенсиве! Интересные уроки, практическая работа и поддержка куратора — всё это доступно тебе прямо сейчас.
Всего за 7 дней ты:
1. Сгенерируешь сайт через Giga, DeepSeek, ChatGPT;
2. Сверстаешь весь сайт на HTML + CSS с правильным адаптивом;
3. Оживишь проект на JavaScript: логика, расчёты и трекинг заказов;
4. Подключишь карты и API, увидишь, как данные работают в настоящем продукте;
5. Получишь экспертные советы, как улучшить свои проекты и вывести их на профессиональный уровень.
В итоге добавишь в своё портфолио уникальный проект сервиса доставки, доступный по ссылке, который повысит твою ценность как специалиста.
🔥 С нас обучение, практика и поддержка на пути к фрилансу.
С тебя участие в интенсиве
👉 Начать бесплатное обучение
Не упусти шанс получить мощный заряд уверенности для дальнейшего роста в разработке!
GNU Make умеет специально ломать привычный порядок сборки, чтобы находить ошибки в зависимостях Makefile!
Бывает, что
В GNU Make 4.4 для поиска таких проблем появился
Полезно прогнать сборку несколько раз:
Если сборка упала,
Интересно, что
Так можно обнаружить зависимости от порядка выполнения отдельно от настоящих проблем конкурентного выполнения.
🔥
🚪 Linux Ready | #совет
Бывает, что
make -j работает нормально, а затем сборка случайно падает на CI или новой машине. Частая причина — одна цель неявно рассчитывает, что другая успеет выполниться раньше, хотя эта зависимость нигде не объявлена.В GNU Make 4.4 для поиска таких проблем появился
--shuffle:make -j8 --shuffle
Make сохраняет зависимости между целями, но намеренно меняет допустимый порядок их выполнения. Если Makefile случайно зависит от привычной последовательности, вероятность воспроизвести проблему резко возрастает.Полезно прогнать сборку несколько раз:
for i in {1..20}; do
make clean
make -j8 --shuffle || break
doneЕсли сборка упала,
Make сообщает seed перемешивания. Его можно передать повторно и воспроизвести тот же порядок:make -j8 --shuffle=123456789
Интересно, что
--shuffle полезен даже без параллельной сборки:make -j1 --shuffle
Так можно обнаружить зависимости от порядка выполнения отдельно от настоящих проблем конкурентного выполнения.
make --shuffle превращает порядок сборки в fuzz-тест: отличный способ найти отсутствующие зависимости в Makefile до того, как они проявятся случайным падением на CI.Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥6👍4