LinuxForum.Fans
Тема

вывод все консоли

Автор: SergeyR 15 сообщений 4077 просмотров
#340723

Приветствую, как сделать вывод из скрипта во все консоли в том числе и в незалогиненные?

#340724

Не совсем понял насчёт «незалогиненных» консолей, но в общем случае как-то так

text

wall -n Hello All
#340730
Lupo Alberto написал:
Не совсем понял насчёт «незалогиненных» консолей, но в общем случае как-то так
text

wall -n Hello All

Это если ручками а вот у меня в скрипте rsync выводит свои данные о том как копирует файлы, вот этот вывод мне нужно что бы выводил везде где только можно. wall выдаст его только залогинненым юзерам, на консолях где есть надпись login он ввода не будет.

#340732

Сложно подсказать что-то «умное», не понимая задачи...
Кто, например, будет читать вывод rsync на неподключённых консолях?
Зачем, вообще, читать этот вывод, тем более «везде где только можно»?
Если это так необходимо, правильнее, на мой взгляд, писать вывод команды либо в отдельный лог-файл, либо в системный лог. Оттуда всегда можно будет получить необходимую информацию.

#340746
"SergeyR" написал:
Приветствую, как сделать вывод из скрипта во все консоли в том числе и в незалогиненные?
text
/sbin/shutdown now "The Matrix reload..."
#340747
Lupo Alberto написал:
Сложно подсказать что-то «умное», не понимая задачи...
Кто, например, будет читать вывод rsync на неподключённых консолях?
Зачем, вообще, читать этот вывод, тем более «везде где только можно»?
Если это так необходимо, правильнее, на мой взгляд, писать вывод команды либо в отдельный лог-файл, либо в системный лог. Оттуда всегда можно будет получить необходимую информацию.

Вообще есть программа rsync она выводит данные о своем прогрессе, но выводит строго в залогинненую консоль. есть человек ему вовсе необязательно знать логи и пасс он просто подсоединяет свой диск к компу по USB и ему rsync скидывает данные. Вот что бы он видел прогресс необходимо что бы на монике были данные о том что процесс идет.

#340748

Hint: wall - write a message to users

#340751
"SergeyR" написал:
на консолях где есть надпись login он ввода не будет.

это тоже самое, как отправить email человеку, у которого нет интернета и компьютера.

#340755
"SergeyR" написал:
Вообще есть программа rsync она выводит данные о своем прогрессе, но выводит строго в залогинненую консоль. есть человек ему вовсе необязательно знать логи и пасс он просто подсоединяет свой диск к компу по USB и ему rsync скидывает данные.

не... вы точно делите на ноль. ГДЕ он будет смотреть вывод rsync??? КУДА она должна что-то там посылать??? На USB-диск что-ли?

И да, КАК вообще "незалогиненная" rsync может что-то и куда-то "посылать", и вообще запускаться????

#340757

Системные демоны могут туда писать, и насколько я знаю консоль которая ждет логина имеет свой интерфейс внутри системы, и туда можно писать. У меня задача еще просто не нужно искать куда писать просто пишем во все такие интерфейсы.

#340760
"SergeyR" написал:
Вообще есть программа rsync она выводит данные о своем прогрессе, но выводит строго в залогинненую консоль. есть человек ему вовсе необязательно знать логи и пасс он просто подсоединяет свой диск к компу по USB и ему rsync скидывает данные. Вот что бы он видел прогресс необходимо что бы на монике были данные о том что процесс идет.

Как вариант...
В терминале, где запущена rsync:

text

rsync -avz /SRC /DST | tee -a /var/log/rsync.log

...в любом другом терминале (возможно, придётся настроить права доступа к файлу /var/log/rsync.log)

text

tail -f /var/log/rsync.log
#340763
"SergeyR" написал:
Системные демоны могут туда писать

тогда изучите

man 1 logger
man 2 syslog
man 3 syslog
man 8 syslogd


ну хотя-бы первый.

"SergeyR" написал:
и насколько я знаю консоль которая ждет логина имеет свой интерфейс внутри системы, и туда можно писать.

вы неправильно понимаете
читайте man 1 login

Вот сама login и может туда писать. А вы -- нет. Ещё туда возможно направить вывод syslogd, у вас оно похоже так и сделано. Значит вы должны использовать logger(1) для этого, или другие интерфейсы.

И да, это сильно зависит от дистрибутива.

#340764
"Lupo Alberto" написал:
возможно, придётся настроить права доступа

угу. И ещё поставить inotify (man 7 inotify), а то tail не сможет нормально следить за хвостами.

#340767

Сделал так пока на первую консоль

/usr/bin/rsync -rv --progress /srcdir /dstdir > "/dev/tty0" 2> "/tmp/error.log"

#340770
"SergeyR" написал:
/usr/bin/rsync -rv --progress /srcdir /dstdir > "/dev/tty0" 2> "/tmp/error.log"

хм... так rsync залогинена под рутом?

тогда так во вторую

text
/usr/bin/rsync  -rv --progress /srcdir /dstdir |tee /dev/tty0 >/dev/tty1

далее по анологии, ман тройник.

Войдите или зарегистрируйтесь, чтобы ответить.