Запускаем crontab -e под рутом и пишем в него
@reboot /root/update-issue.sh
2.md
· 981 B · Markdown
Raw
Пишем в файл /root/update-issue.sh :
```
!/bin/bash
# Получаем локальный IP адрес (исключая localhost)
LOCAL_IP=$(ip -4 addr show | grep -oP '(?<=inet\s)\d+\.\d+\.\d+\.\d+' | grep -v '^127\.' | head -n 1)
# Если не удалось получить IP, используем "не доступен"
[ -z "$LOCAL_IP" ] && LOCAL_IP="не доступен"
# Временный файл
TEMP_FILE=$(mktemp)
# Проверяем, существует ли уже строка с Local IP
if grep -q "^Local IP:" /etc/issue; then
# Обновляем существующую строку
sed -r "s/^Local IP:.*$/Local IP: $LOCAL_IP/" /etc/issue > "$TEMP_FILE"
else
# Копируем файл и добавляем новую строку
cp /etc/issue "$TEMP_FILE"
echo "Local IP: $LOCAL_IP" >> "$TEMP_FILE"
fi
# Заменяем оригинальный файл
cp "$TEMP_FILE" /etc/issue
rm -f "$TEMP_FILE"
```
Пишем в файл /root/update-issue.sh :
!/bin/bash
# Получаем локальный IP адрес (исключая localhost)
LOCAL_IP=$(ip -4 addr show | grep -oP '(?<=inet\s)\d+\.\d+\.\d+\.\d+' | grep -v '^127\.' | head -n 1)
# Если не удалось получить IP, используем "не доступен"
[ -z "$LOCAL_IP" ] && LOCAL_IP="не доступен"
# Временный файл
TEMP_FILE=$(mktemp)
# Проверяем, существует ли уже строка с Local IP
if grep -q "^Local IP:" /etc/issue; then
# Обновляем существующую строку
sed -r "s/^Local IP:.*$/Local IP: $LOCAL_IP/" /etc/issue > "$TEMP_FILE"
else
# Копируем файл и добавляем новую строку
cp /etc/issue "$TEMP_FILE"
echo "Local IP: $LOCAL_IP" >> "$TEMP_FILE"
fi
# Заменяем оригинальный файл
cp "$TEMP_FILE" /etc/issue
rm -f "$TEMP_FILE"
Пишем в файл /etc/issue
Debian GNU/Linux 12 \n \l
Local IP: 192.168.111.114
(да, пустая строка в конце - важно!)
4.md
· 479 B · Markdown
Raw
В актуальной Альпине
Не работает
```
ip -4 addr show | grep -oP '(?<=inet\s)\d+\.\d+\.\d+\.\d+' | grep -v '^127\.' | head -n 1
```
Заменяем на:
```
/sbin/ip addr show | awk '$1 == "inet" {gsub(/\/.*$/, "", $2); print $2}' | egrep -v "127.0.0.1" | xargs
```
Не работает
```
uptime -p
```
Заменяем на
```
awk '{a=$1/86400;b=($1%86400)/3600;c=($1%3600)/60} {printf("%d days, %d hour %d min\n",a,b,c)}' /proc/uptime
```
В актуальной Альпине Не работает
ip -4 addr show | grep -oP '(?<=inet\s)\d+\.\d+\.\d+\.\d+' | grep -v '^127\.' | head -n 1
Заменяем на:
/sbin/ip addr show | awk '$1 == "inet" {gsub(/\/.*$/, "", $2); print $2}' | egrep -v "127.0.0.1" | xargs
Не работает
uptime -p
Заменяем на
awk '{a=$1/86400;b=($1%86400)/3600;c=($1%3600)/60} {printf("%d days, %d hour %d min\n",a,b,c)}' /proc/uptime