LINUX.ORG.RU

Сообщения TuxZer92

 

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

 ,

Всем привет. Есть некий сервер на 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

 ,

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 при сбое.

 

Всем привет.

Написал скрипт который делает бэкапы БД по ночам. Скрипт сам по себе работает и делает бэкапы, но нужно его запускать в ночное время, по будням(для тестов поменял временные интервалы). Самое главное, что если скрипту не удалось создать бэкап, т.е. к примеру сеть пропала или служба 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

 

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

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

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

TuxZer92
()

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