Робочі моменти системного адміністратора. . FreeBSD
- 01.08.24, 12:20
Робочі моменти: коли через сервер FreeBSD перестала відправлятися пошта...
Звичайна робота системного адміністратора: з ранку помітив, що через старий, але нормально працюючий (основний принцип роботи системного адміністоратора - "працює - не чіпай") сервер на віртуальній машині під управлінням FreeBSD 6.2 перестала відправлятися пошта. Причина була знайдена відразу: після перевірки вільного місця на диску за допомгою команди df -h - її кожний системний адміністор UNIX-систем повинен знати, як "отче наш" - показала, що весь розділ (точніше, файл, але для зрозумілості напишемо, що "розділ") /var/ зайнятий. Що ж, трапляється й таке, оскільки в цей розділ системні та прикладні програми записують журнали, які не завжди автоматично видаляються, може переповнити.
Проте перевірка за допомогою команти du -h показала, що зайнято (повинно бути) там не так вже й багато - приблизно 20% . У кого ж "негаразди" з арифметкою? З таким питання вирішив звернутися до штучного інтелекту - GhatGPT та Gemini Google - і обидва вони дали майже однакові відповіді - пишу дещо "вільний" переклад українською мовою, оскільки оригінал був англійською:
"зазвичай, хоч не завжди, це виникає через те, що файли, які були видалені, проте в момент видалення були "захоплені" якимось процесом.." - і далі я просто вже через пошук знайшов більше детально, що потрібно було робити, бо причина стала очевидною: журнали - в моєму випадку сервера Apache - обов'язково могли бути "захопленими", посилання тут - https://rtfm.co.ua/ru/unix-df-i-du-raznye-znacheniya/
"зазвичай, хоч не завжди, це виникає через те, що файли, які були видалені, проте в момент видалення були "захоплені" якимось процесом.." - і далі я просто вже через пошук знайшов більше детально, що потрібно було робити, бо причина стала очевидною: журнали - в моєму випадку сервера Apache - обов'язково могли бути "захопленими", посилання тут - https://rtfm.co.ua/ru/unix-df-i-du-raznye-znacheniya/
За цим посиланням була також інструкція, що робити в такому випадку, але я вирішив, що простіше зробити звичайний reboot сервера.
Після цього все запрацювало нормально -- різниця між командами " df -h " та " du -h " практично зникла.
Додатково: