добрый день..
есть задача: запустить wget в указаное время..
делаем что-то типа
[console]echo "wget [url=ftp://ftp.smth/file.ext\]ftp://ftp.smth/file.ext\"[/url] | at 00:00[/console]
at успешно отрабатывает задачу, НО процесса выполнения wget я не вижу..
вопрос: есть ли способ запустить команду в определенное время так, чтобы было видно процесс выполнения указаной команды (т.е. полный вывод wget-a as is)?
Запуск команды в определенное время + вывод происходящего в консоль
На какую конкретно консоль?
Сделай перенаправление вывода
echo 'wget [url]ftp://ftp.smth/file.ext[/url] > /dev/tty1 ' | at 00:00
echo 'wget [url]ftp://ftp.smth/file.ext[/url] | wall '| at 00:00
На какую конкретно консоль?
Сделай перенаправление вывода
echo 'wget [url]ftp://ftp.smth/file.ext[/url] > /dev/tty1 ' | at 00:00
echo 'wget [url]ftp://ftp.smth/file.ext[/url] | wall '| at 00:00
качает, но не выводит ничего (в том числе если выполнять от рута) (
желателен вывод в туже консоль, с которой работаю, т.е. Konsole, либо в tty1, если вариант с Konsole невозможен
желателен вывод в туже консоль, с которой работаю, т.е. Konsole, либо в tty1, если вариант с Konsole невозможен
Понимаешь, команда будет порождена демоном atd, который с терминалом не связан, и есть все шансы, что к тому времени, когда команда выполнится Konsole будет вообще закрыта.
По этому все решается перенаправлением вывода команды в файл-устройства терминала, или может с помощью команды screen
Файл устройства с которым связан данный конкретный Konsole, можно узнать выполнив в нем команду tty
желателен вывод в туже консоль, с которой работаю, т.е. Konsole, либо в tty1, если вариант с Konsole невозможен
что делать, если вы не работаете в консоли, или работаете сразу в 5и?
а вообще:
[console]$ ps uax | sed -rn 's/^doc\s*(\S+\s+){6}(\S+).*\s*bash$/\1/p'
tty1
pts/0
pts/1
pts/2
[/console]
это список всех консолей, в которых работает юзер doc.
[console]$ ps uax | sed -rn 's~^doc\s*(\S+\s+){6}(\S+).*\s*bash$~echo "TEST" >/dev/\1~e'
TEST
[/console]это отправка сообщения во все консоли.
drBatty, отправка сообщений это да, но мне не нужно отправлять сообщение, мне нужно сделать так, чтобы запустившись в определенное время команда, отобажала свое выполнение в заданой консоли..
anonymous.ru,
[console]user@ddnb:~$ tty
/dev/pts/1
user@ddnb:~$ echo 'wget [url]ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/8.1/CHECKSUM.MD5[/url] > /dev/pts/1' | at 22:26
warning: commands will be executed using /bin/sh
job 13 at Tue Nov 16 22:26:00 2010[/console]
файл качается, но прогресс не отображается вообще..
если это невозможно воплотить средствами at, подскажите пожалуйста другие команды для достижения результата
А не пробовали перенаправлять, например, на /dev/tty7?
Сам я не пробовал, а когда мне былы нужен вывод программы,
запускаемой atd, то записывал в файл.
Пётр.
drBatty, отправка сообщений это да, но мне не нужно отправлять сообщение, мне нужно сделать так, чтобы запустившись в определенное время команда, отобажала свое выполнение в заданой консоли..
это не сообщения. сообщения у нас так:
[console]root@bx:~# wall
test
Широковещательное сообщение от doc@bx
(/dev/pts/2) at 20:53 ...
test
[/console]
(отправляет на все консоли).
У меня-же - именно вывод работы команды (в данном случае echo).
с wget'том тоже можно, но есть 2 проблемы:
1) перенаправлять нужно оба потока, и второй - тоже
2) wget использует "мультипликацию" в виде всяких стрелочек. это надо отключить наверное. Хотя похоже, вам именно это и надо :( так?
файл качается, но прогресс не отображается вообще..
если это невозможно воплотить средствами at, подскажите пожалуйста другие команды для достижения результата
я склоняюсь к мысли, что такое перенаправление принципиально не возможно. А если и возможно, то криво и непереносимо. И дело тут не в at :(
А если сделать так, что-бы at сама запускала новый терминал? не?
Кроме того вот ещё вариант: в автозагрузку (~/.bash_login, ~/.bashrc) пропишите screen, тода можно будет присоединится к ней с помощью другой scree (хоть из at, хоть из америки). И выполнить команду внутри второй screen.
А не пробовали перенаправлять, например, на /dev/tty7?
Сам я не пробовал, а когда мне былы нужен вывод программы,
запускаемой atd, то записывал в файл.
Пётр.
в /dev/tty7 смысла нет отправлять..
drBatty, anonymous.ru
со скринами попробую сегодня, отпишусь..
со скринами попробую сегодня, отпишусь..
здесь гляньте http://linuxforum.ru/viewtopic.php?id=5982
милядЪ
[console]screen wget [url]ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/8.1/CHECKSUM.MD5[/url][/console]
отрабатывает, а
[console]user@dd:~$ at 19:21
warning: commands will be executed using /bin/sh
at> screen wget [url]ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/8.1/CHECKSUM.MD5[/url]
at> <EOT>
job 4 at Wed Nov 17 19:21:00 2010
user@dd:~$[/console]
не хотит..
я туплю или нет?
я туплю или нет?
вместе тупим :(
у меня таже беда... я подумаю ещё...