LINUX.ORG.RU

Сообщения TuxZer92

 

Найти виновника

Форум — Admin

Всем привет. Есть некий сервер на ubuntu 16.04. Проблема в том, что какое-то ПО пишет странные команды в файл .bash_history:

echo $?
find / -xdev -type d 2>/dev/null | grep -P "^/opt/ibm/.*?/jre/lib$" | while read path; do if test -r "$path" && test -x "$path"; then filenames=`ls -1A "$path" 2>/dev/null | grep -x $'version.properties'; exit ${PIPESTATUS[0]};`; if [ "$?" != 0 ]; then exit 1; fi; IFS=$'\n'; for filename in $filenames; do filepath="$path"/"$filename"; if [ "$path" == "/" ]; then filepath="/$filename"; fi; if test -e "$filepath" && test ! -d "$filepath"; then perms=$(ls -ldL "$filepath" | cut -d \  -f 2 | tr -d '\n'; exit ${PIPESTATUS[0]};); if [ "$?" != 0 ]; then exit 1; fi; stats=$(stat -L --format="%A:%g:%u:%X:%Y:%Z:%s:%a" "$filepath" | tr -d '\n'; exit ${PIPESTATUS[0]};); if [ "$?" != 0 ]; then exit 1; fi; printf "%s:%s:%s\n" "$filepath" "$stats" "$perms"; ((i++)); if [ $i -ge 1024 ]; then break 2; fi; fi; done; fi; done;
echo $?
err=`( failover info ) 2>&1 >/dev/tty`; code=$?; printf "\n[[[d]]]\n%s\n[[[d]]]\n%s\n" "$code" "$err";
test -f $'/etc/SuSE-brand' && test -r $'/etc/SuSE-brand'; echo $?;
err=`( /usr/local/nagios/bin/nagios ) 2>&1 >/dev/tty`; code=$?; printf "\n[[[d]]]\n%s\n[[[d]]]\n%s\n" "$code" "$err";
err=`( find "/opt" "/usr/lib" "/usr/lib64" -path "*/bin/*" -type f -name "qmake" -exec {} --version \;  2>/dev/null | grep "Qt version" ) 2>&1 >/dev/tty`; code=$?; printf "\n[[[d]]]\n%s\n[[[d]]]\n%s\n" "$code" "$err";
sudo su -
command -v bind
echo $?
bind -v
echo $?
command -v bind
echo $?
bind -v
echo $?
command -v hostname
echo $?
hostname
echo $?
hostname --fqdn
echo $?
command -v ip
echo $?
ip -o link
echo $?
ip addr show lo
echo $?
ip route show dev lo
echo $?
command -v ethtool
echo $?
ip addr show ens32
echo $?
ip route show dev ens32
echo $?
command -v bind
echo $?
bind -v
echo $?
command -v rpm
echo $?
test -f $'/etc/lsb-release' && test -r $'/etc/lsb-release'; echo $?;
printf "%s\n" "test" | base64
echo $?
cat $'/etc/lsb-release' | base64
echo $?
test -f $'/etc/os-release' && test -r $'/etc/os-release'; echo $?;
cat $'/etc/os-release' | base64
echo $?
test -f $'/etc/SuSE-release' && test -r $'/etc/SuSE-release'; echo $?;
test -f $'/etc/debian_version' && test -r $'/etc/debian_version'; echo $?;
cat $'/etc/debian_version' | base64
echo $?
uname -a
echo $?
command -v grep
echo $?
grep -P "^a$" <<< "a" > /dev/null
echo $?
( path=$'/etc'; depth=0; rc_list_files() { local path="$1"; local depth="$2"; local filenames=`ls -1A "$path"`; if [ "$?" != 0 ]; then exit 1; fi; IFS=$'\n'; for filename in $filenames; do local filepath="$path"/"$filename"; if [ "$path" == "/" ]; then filepath=/"$filename"; fi; if test -f "$filepath" && test -r "$filepath"; then if ( grep -P "^(rosa-)?release$" <<< "$filename" > /dev/null ); then printf "%s\n" "$filepath"; ((fc++)); if [ $fc -ge 1024 ]; then exit 0; fi; fi; fi; if [ -d "$filepath" ] && [ -r "$filepath" ] && [ -x "$filepath" ]; then if [ "$depth" -ge 0 ]; then depth=$(( depth - 1 )); fi; if [ "$depth" -eq -1024 ] || [ "$depth" -ge 0 ]; then rc_list_files "$filepath" "$depth"; fi; fi; done; }; if [ "$depth" -le -1 ]; then depth=-1024; fi; if test -d "$path" && test -r "$path"; then rc_list_files "$path" "$depth"; fi; );
echo $?
test -f $'/opt/RedDatabase/bin/fb_config' && test -r $'/opt/RedDatabase/bin/fb_config'; echo $?;
test -f $'/etc/rosa-release' && test -r $'/etc/rosa-release'; echo $?;
test -e $'/etc/astra_version'; echo $?;
test -f $'/etc/system-release' && test -r $'/etc/system-release'; echo $?;
test -f $'/etc/astra_version' && test -r $'/etc/astra_version'; echo $?;
test -f $'/usr/local/nagiosxi/var/xiversion' && test -r $'/usr/local/nagiosxi/var/xiversion'; echo $?;
test -e $'/usr/local/nagios/bin/nagios' && test ! -d $'/usr/local/nagios/bin/nagios'; echo $?;
command -v dpkg-query
echo $?
dpkg-query -W -f='${Package}\t${Version}\t${Architecture}\t${Status}\t${Homepage}\t${Installed-Size}\t${Maintainer}\t${Section}\t${Source}\n'
echo $?
test -f $'/opt/skyboxview/utility/bin/version.txt' && test -r $'/opt/skyboxview/utility/bin/version.txt'; echo $?;
err=`( HDB version ) 2>&1 >/dev/tty`; code=$?; printf "\n[[[d]]]\n%s\n[[[d]]]\n%s\n" "$code" "$err";
test -f $'/etc/redhat-release' && test -r $'/etc/redhat-release'; echo $?;
grep -x "a" <<< "a" > /dev/null
echo $?
( path=$'/usr/java'; depth=5; rc_list_files() { local path="$1"; local depth="$2"; local filenames=`ls -1A "$path"`; if [ "$?" != 0 ]; then exit 1; fi; IFS=$'\n'; for filename in $filenames; do local filepath="$path"/"$filename"; if [ "$path" == "/" ]; then filepath=/"$filename"; fi; if test -e "$filepath" && test ! -d "$filepath"; then if [ "$filename" == $'java' ]; then perms=$(ls -ldL "$filepath" | cut -d \  -f 2 | tr -d '\n'; exit ${PIPESTATUS[0]};); if [ "$?" != 0 ]; then exit 1; fi; stats=$(stat -L --format="%A:%g:%u:%X:%Y:%Z:%s:%a" "$filepath" | tr -d '\n'; exit ${PIPESTATUS[0]};); if [ "$?" != 0 ]; then exit 1; fi; printf "%s:%s:%s\n" "$filepath" "$stats" "$perms"; ((fc++)); if [ $fc -ge 1024 ]; then exit 0; fi; fi; fi; if [ -d "$filepath" ] && [ -r "$filepath" ] && [ -x "$filepath" ]; then if [ "$depth" -ge 0 ]; then depth=$(( depth - 1 )); fi; if [ "$depth" -eq -1024 ] || [ "$depth" -ge 0 ]; then rc_list_files "$filepath" "$depth"; fi; fi; done; }; if [ "$depth" -le -1 ]; then depth=-1024; fi; if test -d "$path" && test -r "$path"; then rc_list_files "$path" "$depth"; fi; );
echo $?
( path=$'/home'; depth=5; rc_list_files() { local path="$1"; local depth="$2"; local filenames=`ls -1A "$path"`; if [ "$?" != 0 ]; then exit 1; fi; IFS=$'\n'; for filename in $filenames; do local filepath="$path"/"$filename"; if [ "$path" == "/" ]; then filepath=/"$filename"; fi; if test -e "$filepath" && test ! -d "$filepath"; then if [ "$filename" == $'java' ]; then perms=$(ls -ldL "$filepath" | cut -d \  -f 2 | tr -d '\n'; exit ${PIPESTATUS[0]};); if [ "$?" != 0 ]; then exit 1; fi; stats=$(stat -L --format="%A:%g:%u:%X:%Y:%Z:%s:%a" "$filepath" | tr -d '\n'; exit ${PIPESTATUS[0]};); if [ "$?" != 0 ]; then exit 1; fi; printf "%s:%s:%s\n" "$filepath" "$stats" "$perms"; ((fc++)); if [ $fc -ge 1024 ]; then exit 0; fi; fi; fi; if [ -d "$filepath" ] && [ -r "$filepath" ] && [ -x "$filepath" ]; then if [ "$depth" -ge 0 ]; then depth=$(( depth - 1 )); fi; if [ "$depth" -eq -1024 ] || [ "$depth" -ge 0 ]; then rc_list_files "$filepath" "$depth"; fi; fi; done; }; if [ "$depth" -le -1 ]; then depth=-1024; fi; if test -d "$path" && test -r "$path"; then rc_list_files "$path" "$depth"; fi; );
echo $?
( path=$'/usr/opt'; depth=5; rc_list_files() { local path="$1"; local depth="$2"; local filenames=`ls -1A "$path"`; if [ "$?" != 0 ]; then exit 1; fi; IFS=$'\n'; for filename in $filenames; do local filepath="$path"/"$filename"; if [ "$path" == "/" ]; then filepath=/"$filename"; fi; if test -e "$filepath" && test ! -d "$filepath"; then if [ "$filename" == $'java' ]; then perms=$(ls -ldL "$filepath" | cut -d \  -f 2 | tr -d '\n'; exit ${PIPESTATUS[0]};); if [ "$?" != 0 ]; then exit 1; fi; stats=$(stat -L --format="%A:%g:%u:%X:%Y:%Z:%s:%a" "$filepath" | tr -d '\n'; exit ${PIPESTATUS[0]};); if [ "$?" != 0 ]; then exit 1; fi; printf "%s:%s:%s\n" "$filepath" "$stats" "$perms"; ((fc++)); if [ $fc -ge 1024 ]; then exit 0; fi; fi; fi; if [ -d "$filepath" ] && [ -r "$filepath" ] && [ -x "$filepath" ]; then if [ "$depth" -ge 0 ]; then depth=$(( depth - 1 )); fi; if [ "$depth" -eq -1024 ] || [ "$depth" -ge 0 ]; then rc_list_files "$filepath" "$depth"; fi; fi; done; }; if [ "$depth" -le -1 ]; then depth=-1024; fi; if test -d "$path" && test -r "$path"; then rc_list_files "$path" "$depth"; fi; );
echo $?
test -f $'/usr/local/nagiosfusion/var/fusionversion' && test -r $'/usr/local/nagiosfusion/var/fusionversion'; echo $?;
test -f $'/etc/github/enterprise-release' && test -r $'/etc/github/enterprise-release'; echo $?;
( path=$'/opt'; depth=1; rc_list_files() { local path="$1"; local depth="$2"; local filenames=`ls -1A "$path"`; if [ "$?" != 0 ]; then exit 1; fi; IFS=$'\n'; for filename in $filenames; do local filepath="$path"/"$filename"; if [ "$path" == "/" ]; then filepath=/"$filename"; fi; if test -e "$filepath" && test ! -d "$filepath"; then if [ "$filename" == $'components.xml' ]; then perms=$(ls -ldL "$filepath" | cut -d \  -f 2 | tr -d '\n'; exit ${PIPESTATUS[0]};); if [ "$?" != 0 ]; then exit 1; fi; stats=$(stat -L --format="%A:%g:%u:%X:%Y:%Z:%s:%a" "$filepath" | tr -d '\n'; exit ${PIPESTATUS[0]};); if [ "$?" != 0 ]; then exit 1; fi; printf "%s:%s:%s\n" "$filepath" "$stats" "$perms"; ((fc++)); if [ $fc -ge 1024 ]; then exit 0; fi; fi; fi; if [ -d "$filepath" ] && [ -r "$filepath" ] && [ -x "$filepath" ]; then if [ "$depth" -ge 0 ]; then depth=$(( depth - 1 )); fi; if [ "$depth" -eq -1024 ] || [ "$depth" -ge 0 ]; then rc_list_files "$filepath" "$depth"; fi; fi; done; }; if [ "$depth" -le -1 ]; then depth=-1024; fi; if test -d "$path" && test -r "$path"; then rc_list_files "$path" "$depth"; fi; );
echo $?
err=`( grep -n -e "DocumentRoot" /etc/apache2/sites-available/default-ssl.conf ) 2>&1 >/dev/tty`; code=$?; printf "\n[[[d]]]\n%s\n[[[d]]]\n%s\n" "$code" "$err";
err=`( grep -n -e "DocumentRoot" /etc/httpd/conf/httpd.conf ) 2>&1 >/dev/tty`; code=$?; printf "\n[[[d]]]\n%s\n[[[d]]]\n%s\n" "$code" "$err";
test -f $'/opt/mssql/bin/sqlservr' && test -r $'/opt/mssql/bin/sqlservr'; echo $?;
test -f $'/etc/altlinux-release' && test -r $'/etc/altlinux-release'; echo $?;
test -f $'/opt/sysinfo/config/mcsysinfo.cfg' && test -r $'/opt/sysinfo/config/mcsysinfo.cfg'; echo $?;
command -v stat
echo $?
command -v find
echo $?
find / -xdev -type d 2>/dev/null | grep -P "^/opt/ibm/.*?/jre/lib$" | while read path; do if test -r "$path" && test -x "$path"; then filenames=`ls -1A "$path" 2>/dev/null | grep -x $'version.properties'; exit ${PIPESTATUS[0]};`; if [ "$?" != 0 ]; then exit 1; fi; IFS=$'\n'; for filename in $filenames; do filepath="$path"/"$filename"; if [ "$path" == "/" ]; then filepath="/$filename"; fi; if test -e "$filepath" && test ! -d "$filepath"; then perms=$(ls -ldL "$filepath" | cut -d \  -f 2 | tr -d '\n'; exit ${PIPESTATUS[0]};); if [ "$?" != 0 ]; then exit 1; fi; stats=$(stat -L --format="%A:%g:%u:%X:%Y:%Z:%s:%a" "$filepath" | tr -d '\n'; exit ${PIPESTATUS[0]};); if [ "$?" != 0 ]; then exit 1; fi; printf "%s:%s:%s\n" "$filepath" "$stats" "$perms"; ((i++)); if [ $i -ge 1024 ]; then break 2; fi; fi; done; fi; done;
echo $?
err=`( failover info ) 2>&1 >/dev/tty`; code=$?; printf "\n[[[d]]]\n%s\n[[[d]]]\n%s\n" "$code" "$err";
test -f $'/etc/SuSE-brand' && test -r $'/etc/SuSE-brand'; echo $?;
err=`( /usr/local/nagios/bin/nagios ) 2>&1 >/dev/tty`; code=$?; printf "\n[[[d]]]\n%s\n[[[d]]]\n%s\n" "$code" "$err";
err=`( find "/opt" "/usr/lib" "/usr/lib64" -path "*/bin/*" -type f -name "qmake" -exec {} --version \;  2>/dev/null | grep "Qt version" ) 2>&1 >/dev/tty`; code=$?; printf "\n[[[d]]]\n%s\n[[[d]]]\n%s\n" "$code" "$err";


Человек точно не будет такое писать)
Сервер не я настраивал.



[i]Перемещено hobbit из general[/i]

 ,

TuxZer92
()

Поддержка кириллицы в GLPI-Agent

Форум — Admin

GLPI Server on Debian 12.4

GLPI version: GLPI 10.0.11

glpi-agent version: 1.7.1-1

компы клиентов на Win10

Когда я открываю Web-интерфейс агента GLPI и ввожу логин на кириллице для аутентификации на Windows-хостах по WinRM, то при попытке зайти на страницу, где создаются диапазоны IP-сетей, появляется ошибка:

ERR_EMPTY_RESPONSE

А в логах GLPI-Agent’a:

[debug] [http server] GET request /toolbox/ip_range from client 192.168.31.79 
[Fri Feb  2 12:42:37 2024][error] HTTP::Message content must be bytes at /usr/share/glpi-agent/lib/GLPI/Agent/HTTP/Server/ToolBox.pm line 853.

Вот какая ошибка, если подключаться из консоли: https://fastpic.org/fullview/123/2024/0204/f0490db9453b3c11dcd04b2cb6ca7ec2.jpg.html

Если я вообще не использую кириллицу, то все работает, но я не могу для GLPI сменить логин локального администратора на всех машинах.

Может кто-то уже сталкивался с такой проблемой? На офф форуме молчат, как и в группах в TG и на Github.

Нужна именно удаленная инвентаризация, т.е. без установки или запуска агентов на самих клиентах.

 ,

TuxZer92
()

Перезапуск службы SystemD при сбое.

Форум — Admin

Всем привет.

Написал скрипт который делает бэкапы БД по ночам. Скрипт сам по себе работает и делает бэкапы, но нужно его запускать в ночное время, по будням(для тестов поменял временные интервалы). Самое главное, что если скрипту не удалось создать бэкап, т.е. к примеру сеть пропала или служба ssh на удаленном сервере остановилась/зависла(там винда)), то выполнить повторные запуски в кол-ве 5 раз с интервалом в 30 минут. Если все равно не удалось, то запустить службу по таймеру на следующий день.

Я написал файл для службы, который запускает скрипт:

[Unit]
Description=1C database backup
Wants=1C_Back.timer
#Служба будет перезапущена 5 раз в течении 15 минут
StartLimitIntervalSec=900
StartLimitBurst=5


[Service]
Type=simple
ExecStart=/root/Backup_1C/1C_back.sh
#Перезапуск службы в случае неудачного запуска
Restart=on-failure
#Повторные запуски через 3 минуты
RestartSec=180

[Install]
WantedBy=multi-user.target

Так же написал файл таймера:

[Unit]
Description=1C Backup
Requires=1C_back.service

[Timer]
Unit=1C_back.service
#Запуск службы 1C_back.service каждые 20 минут
OnCalendar= *:0/20


[Install]
WantedBy=timers.target

Проблема в том, что когда приходит время(00:00:00), то запускается служба, которая запускает скрипт, но появляется ошибка(и это нормально, так как заняты файлы в расшаренном каталоге) и по идее служба должна выполниться 5 раз через каждые 3 минуты в течении 15 минут(для тестов), но вместо этого она продолжает попытки запуска, хотя я ограничил их 5-ю. Почему так происходит? Вот что в логах: https://pastebin.com/D0WnBTep

В логах мы видим, что скрипт запускался аж 8 раз(и больше на самом деле) и превысил время в 15 минут. Почему по истечении 15 минут служба не остановила свое выполнение?

 

TuxZer92
()

Отказоустойчивость Ovirt

Форум — Admin

Доброго времени суток.

Есть oVirt 4.4.9. 3 ноды, GlusterFS в качестве хранилища из дисков на этих нодах. Возник вопрос: Сейчас на одной из нод запущена виртуалка с Hosted Engine, которая и управляет VM’s. Если я отключаю питание на ноде, где была запущена Hosted Engine, то она перезапускается на другой ноде и все хорошо, а что, если сеть пропадет на двух нодах из 3-ех и Hosted Engine будет недоступен, то как в таком случае будет запускаться Hosted Engine?

И еще вопрос: Нужно ли ставить Hosted Engine на всех 3-ех нодах или достаточно на одной?

 

TuxZer92
()

RSS подписка на новые темы