Системный администратор – Telegram
Системный администратор
2.53K subscribers
375 photos
498 videos
7 files
199 links
Канал для системных администраторов. Linux, Windows, Active Directory, GPO, PowerShell. Виртуализация Hyper-V, VMWare. Облака Azure, AWS.

По всем вопросам @evgenycarter
Download Telegram
🛠️ Автоматическое удаление старых файлов в Linux


#!/bin/bash

DIR="/var/log" # Директория, в которой очищаем файлы
DAYS=30 # Количество дней, после которых файлы считаются устаревшими
LOGFILE="/var/log/cleanup.log"

# Поиск и удаление файлов старше N дней
find "$DIR" -type f -mtime +"$DAYS" -exec rm -f {} \;

# Запись информации о выполнении в лог
echo "$(date '+%Y-%m-%d %H:%M:%S') - Удалены файлы старше $DAYS дней из $DIR" >> "$LOGFILE"


📌 Разбор скрипта:
- find "$DIR" -type f -mtime +"$DAYS" — ищет файлы (-type f), изменённые более $DAYS дней назад.
- -exec rm -f {} \; — удаляет найденные файлы.
- echo "$(date ...)" >> "$LOGFILE" — записывает в лог дату и время очистки.

🔥 Добавьте этот скрипт в cron, чтобы автоматизировать процесс:


0 3 * * * /path/to/cleanup.sh

Этот cron-запуск удалит старые файлы каждую ночь в 3:00.

👉 @i_linux
👍6
Горячие клавиши терминала Linux

Общие:
Ctrl+Alt+T - в дистрибутивах, основанных на Ubuntu это сочетание клавиш используется для открытия терминала.
Tab - эта клавиша используется для автодополнения в терминале. Вам достаточно набрать начало какой-нибудь команды, затем нажать её и команда предложит доступные варианты или завершит её если она одна.
Ctrl+L - очистить весь вывод терминала.
Ctrl+S - приостановить вывод терминала.
Ctrl+Q - возобновить вывод если он был приостановлен.
Ctrl+C - отправить команде сигнал SigInt для её завершения.
Ctrl+Z - свернуть текущую команду в фоновый режим.

История команд:
Стрелки вверх и вниз - используются для перемещения вперед и назад по истории команд.
Ctrl+r - можно использовать для поиска по истории команд.
Ctrl+p - предыдущая команда в истории команд.
Ctrl+n - следующая команда в истории команд.
Ctrl+g - если вы находитесь в режиме поиска, завершает поиск.
Ctrl+o - выполнить найденную поиском команду.
Alt+. - использовать последнее слово предыдущей команды.

Перемещение курсора:
Ctrl+a - перейти в начало строки.
Ctrl+e - перейти в конец строки.
Alt+b - перейти влево на одно слово.
Alt+f - перейти в право на одно слово.
Ctrl+b - перейти влево на один символ.
Ctrl+f - перейти вправо на один символ.
Ctrl+xx - перейти в конец или в начало строки.

Редактирование:
Ctrl+u - вырезать строку до позиции курсора.
Alt+Del - удалить слово перед курсором.
Alt+d - удалить слово после курсора.
Ctrl+d - удалить символ под курсором.
Ctrl+h - удалить символ под курсором.
Ctrl+w - вырезать слово под курсором.
Ctrl+k - вырезать строку от позиции курсора до конца строки
Alt+t - поменять текущее слово с предыдущим.
Ctrl+t - поменять местами два символа перед курсором.
Esc+t - поменять местами два слова перед курсором.
Ctrl+y - вставить то, что было вырезано.
Alt+u - сделать верхний регистр символов от позиции курсора до конца текущего слова.
Alt+l - сделать нижний регистр символов от позиции курсора до конца слова.
Alt+c - перевести символ под курсором в верхний регистр и перейти к концу слова.
Alt+r - вернуть строку в исходное состояние.
Ctrl+_ - отменить последнее действие со строкой.

👉 @i_linux
👍6
Советы по настройке history команд в Bash

Каждая вводимая в терминале команда сохраняется в файле ~/.bash_history. Чтобы посмотреть историю команд – введите history.

Настройка истории команд в Bash осуществляется путем добавления переменных окружения в файл ~/.bashrc.

Чтобы изменения в ~/.bashrc вступили в силу, выполните:

source ~/.bashrc


1. Добавляем Отображение Даты и Времени в Bash History
Иногда очень полезно узнать время, когда какая-либо команда была выполнена.

Установите HISTTIMEFORMAT, чтобы сохранять время выполнения каждой команды.

Для этого добавьте следующую строку в файл ~/.bashrc:

export HISTTIMEFORMAT="%h %d %H:%M:%S "
Теперь, набрав history, Вы получите следующий вывод:

113 Jun 08 16:31:06 sudo ifconfig
114 Jun 08 16:31:10 top
115 Jun 08 16:31:19 ping disnetern.ru
116 Jun 08 16:31:22 history


2. Увеличиваем Размер Хранимой Истории
Увеличьте HISTSIZE — количество команд, которые необходимо запоминать в списке истории (стандартное значение — 500).

export HISTSIZE=5000
Увеличьте HISTFILESIZE — максимальное количество строк, содержащееся в файле истории (стандартное значение — 500).

export HISTFILESIZE=5000


3. Добавляем Команды Bash в Файл с Историей
Bash перезаписывает файл .bash_history?

Чтобы добавлять новые команды в файл с историей, а не переписывать его каждый раз, добавьте следующую строку в ~/.bashrc:

shopt -s histappend


4. Мгновенно Сохранять Историю Команд
По умолчанию, Bash записывает историю команд в .bash_history, при завершении сессии.

Если сессия внезапно оборвется Вы потеряете текущую историю команд.

Используйте переменную $PROMPT_COMMAND, чтобы сохранять команды сразу после выполнения:

Добавьте следующую строку в файл ~/.bashrc, если переменная $PROMPT_COMMAND не была задана ранее:

PROMPT_COMMAND='history -a'
Добавьте следующую строку, если переменная $PROMPT_COMMAND уже была задана:

PROMPT_COMMAND='$PROMPT_COMMAND; history -a'

👉 @i_linux
👍5
Запуск команд в фоновом режиме

Синтаксис
Задачу (например, команду или скрипт) можно перевести в фоновый режим, добавив символ «&» в конец командной строки. Этот оператор переводит команду в фоновый режим и освобождает место в терминале. Команда, выполняемая в фоновом режиме, называется заданием. Во время работы фоновой команды можно выполнять любые другие команды. Синтаксис выглядит следующим образом:

command & noscript-name & /path/to/command arg1 arg2 & command-1 | command-2 arg1 & command-1 | command-2 -arg1 -arg2 >/path/to/output &

Примеры
Чтобы перевести команду ls в фоновый режим, введите:
$ ls *.py > output.txt &

Чтобы перевести следующую команду поиска в фоновый режим, добавьте символ «&» в конец командной строки:
find . -iname "*.mp3" > myplaylist.txt &

Как найти задания, работающие в фоновом режиме?
Выполните следующую команду:
jobs

Пример вывода данных:
[1]- Running find / -iname "*.c" 2> /dev/null > /tmp/output.txt &
[2]+ Running grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt &

Где
[1] и [2] идентификаторы заданий.
Чтобы отобразить идентификаторы процессов для идентификаторов заданий помимо стандартных сведений, передайте параметр -l:

jobs –l


Пример вывода данных:

[1]- 7307 Running find / -iname "*.c" 2> /dev/null > /tmp/output.txt &
[2]+ 7324 Running grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt &

Чтобы отобразить только идентификаторы процессов, введите:
jobs -p

Пример вывода данных:

7307
7324


Как прекратить выполнение заданий, работающих в фоновом режиме?
Для принудительного или постепенного завершения процесса следует использовать команду kill. Синтаксис выглядит следующим образом:

kill PID
kill -15 PID
kill -9 PID
killall process-Name-Here
killall -15 process-Name-Here
killall -9 process-Name-Here


Как переместить процесс из фонового режима в приоритетный?
Синтаксис:
%JOB-ID

ИЛИ
fg JOB-ID

Сначала следует вывести список текущих заданий с помощью команды jobs. Для этого введите:
jobs -l

Пример вывода данных:

[1]- 7307 Running find / -iname "*.c" 2> /dev/null > /tmp/output.txt &
[2]+ 7324 Running grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt &

Чтобы перевести задание job id #2 в приоритетный режим, введите:
%2
ИЛИ используйте команду:
fg 2

Пример вывода данных:

grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt
Чтобы перевести это задание обратно в фоновый режим, нажмите клавишу Z, удерживая клавишу CTRL. При этом выполнение текущего приоритетного задания будет приостановлено. Введите следующую команду, чтобы перевести задание в фоновый режим:
%2 &

ИЛИ используйте команду:
bg

Теперь командное задание grep будет работать в фоновом режиме.

👉 @i_linux
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Netdata - это высокоточный мониторинг инфраструктуры и производительности в режиме реального времени.

200+ предварительно созданных интеграций
Интеграция со все большим количеством операционных систем, коллекторов, платформ уведомлений и цепочек инструментов мониторинга/наблюдения.

Если метрика может быть собрана, она будет собрана: с 2 000+ автоопределяемых метрик и 100+ предварительно настроенных предупреждений на каждый узел.

https://github.com/netdata/netdata

👉 @i_linux
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
🔥Зажигаем огонь в терминале с помощью команды:
aafire

Как установить libaa-bin в Ubuntu / Debian

sudo apt update
sudo apt install libaa-bin



Примеры программ с использованием aalib

http://aa-project.sourceforge.net/aalib/

👉 @i_linux
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1
Немного истории. Стандартные дисководы на 3.5" и 5.25"

👉 @i_linux
👍3