Freesco, NND, CDN, EOS
http://forum.freesco.pl/

prośba o napisanie skryptu...
http://forum.freesco.pl/viewtopic.php?f=28&t=14111
Strona 1 z 2

Autor:  Kimas [ poniedziałek, 20 listopada 2006, 17:36 ]
Tytuł:  prośba o napisanie skryptu...

Witam

Czy znalazła by się taka osoba ktora by napisała skrypt do przezucania kilku plikow z folderu znajdujacym sie na NND do folderu na "obcym" serverze ftp???

Autor:  marask [ poniedziałek, 20 listopada 2006, 23:20 ]
Tytuł: 

skrypt ma działać na NND czy na obcym serwie?

Autor:  Kimas [ poniedziałek, 20 listopada 2006, 23:29 ]
Tytuł: 

na NND

Autor:  marask [ poniedziałek, 20 listopada 2006, 23:52 ]
Tytuł: 

skrypt pisany z palca - nietestowany
: [/] [] ()
#!/bin/bash
katalog='/home/test/'
port='21'
host='test.com'
login='tester'
haslo='pass'

ls $katalog | while read linia;
do
curl -P $port -T $katalog$linia ftp://login:haslo@host
done;


Jak dużo plików to może potrwać, ale skuteczne.

dodano:
ew jak to Miś mnie ostatnio pouczył:
: [/] [] ()
find coś tam - exec curl -P 21 -T {} ftp:. ....

Autor:  Kimas [ wtorek, 21 listopada 2006, 00:21 ]
Tytuł: 

mam zrobione tak

: [/] [] ()
#!/bin/bash
katalog='/home/httpd/html/rrdtool/'
port='21'
host='ftp.60free.ovh.org'
login='login'
haslo='haslo'

ls $katalog | while read linia;
do
curl -P $port -T $katalog$linia ftp://login:haslo@host
done;


i wywala mi:

: [/] [] ()
[root@X1 rrdtool]# ./ftpuplouder
./ftpuplouder: line 10: curl: command not found
./ftpuplouder: line 10: curl: command not found
./ftpuplouder: line 10: curl: command not found
./ftpuplouder: line 10: curl: command not found
./ftpuplouder: line 10: curl: command not found
./ftpuplouder: line 10: curl: command not found
./ftpuplouder: line 10: curl: command not found
./ftpuplouder: line 10: curl: command not found
./ftpuplouder: line 10: curl: command not found
./ftpuplouder: line 10: curl: command not found

Autor:  Mis' [ wtorek, 21 listopada 2006, 01:51 ]
Tytuł: 

marask pisze:
skrypt pisany z palca - nietestowany
: [/] [] ()
#!/bin/bash
katalog='/home/test/'
port='21'
host='test.com'
login='tester'
haslo='pass'

ls $katalog | while read linia;
do
curl -P $port -T $katalog$linia ftp://login:haslo@host
done;


raczej tak:

cd $katalog

for i in *; do
curl -P $port -T $katalog/"$i" ftp://login:haslo@host
done

Użycie ls w scriptach prawie zawsze jest błędem. Poza tym to rozwiązanie wywali się jeśli w nazwie będzie spacja lub znak nowej linii...

marask pisze:
dodano:
ew jak to Miś mnie ostatnio pouczył:
: [/] [] ()
find coś tam - exec curl -P 21 -T {} ftp:. ....


Ja?? Nie przypominam sobie...

EDIT: poprawiłem linię z curl - teraz spacje w nazwach nie powinny bruździć.

Autor:  JakubC [ wtorek, 21 listopada 2006, 02:27 ]
Tytuł: 

Kimas pisze:
[ciach]
: [/] [] ()
[root@X1 rrdtool]# ./ftpuplouder
./ftpuplouder: line 10: curl: command not found
./ftpuplouder: line 10: curl: command not found
./ftpuplouder: line 10: curl: command not found
./ftpuplouder: line 10: curl: command not found
./ftpuplouder: line 10: curl: command not found
./ftpuplouder: line 10: curl: command not found
./ftpuplouder: line 10: curl: command not found
./ftpuplouder: line 10: curl: command not found
./ftpuplouder: line 10: curl: command not found
./ftpuplouder: line 10: curl: command not found

A co to moze oznaczac?

Czytaj co konsola wypluwa.

pacman -S curl

Autor:  marask [ wtorek, 21 listopada 2006, 06:59 ]
Tytuł: 

przepraszam Miś - to jednak był MAC!EK
http://forum.freesco.pl/viewtopic.php?p=93065#93065

Hmmm nie wiem czemu, ale jak używałem takiej formy:
for linia in `ls katalog`... to mi wysypywał się na spacjach, a Twoja wersja nie. Znowu się czegoś nauczyłem :)

: [/] [] ()
[marask@serwer konnekt]$ ls ./ | while read linia; do echo "tekst.$linia"; done;
tekst.204_novy_tom_feat.marshallmichael_-_your_body_(original_radio_edit).mp3
tekst.C-Bool Feat Dj Pierce - Valle De Larmes(Vocal Rmx).mp3
tekst.screenshot1163749086.jpg
tekst.temp.png


: [/] [] ()
[marask@serwer konnekt]$ for plik in *; do echo "tekst.$plik";done
tekst.204_novy_tom_feat.marshallmichael_-_your_body_(original_radio_edit).mp3
tekst.C-Bool Feat Dj Pierce - Valle De Larmes(Vocal Rmx).mp3
tekst.screenshot1163749086.jpg
tekst.temp.png


Jak widać obydwa sposoby działają (na oko) poprawnie. Dzięki za wskazówki!

Autor:  Mis' [ wtorek, 21 listopada 2006, 17:38 ]
Tytuł: 

marask pisze:
p
Hmmm nie wiem czemu, ale jak używałem takiej formy:
for linia in `ls katalog`... to mi wysypywał się na spacjach, a Twoja wersja nie. Znowu się czegoś nauczyłem :)


to proste - jeśli w nazwie była spacja to kolejne polecenie dostawało kilka argumentów nie zaś całą nazwę pliku (jeden argument). Między innymi dlatego nie należy używać ls w scriptach. I dlatego też warto nabrać przyzwyczajenia aby zmienne zawsze podawać w cudzysłowach.

marask pisze:
: [/] [] ()
[marask@serwer konnekt]$ ls ./ | while read linia; do echo "tekst.$linia"; done;
tekst.204_novy_tom_feat.marshallmichael_-_your_body_(original_radio_edit).mp3
tekst.C-Bool Feat Dj Pierce - Valle De Larmes(Vocal Rmx).mp3
tekst.screenshot1163749086.jpg
tekst.temp.png


: [/] [] ()
[marask@serwer konnekt]$ for plik in *; do echo "tekst.$plik";done
tekst.204_novy_tom_feat.marshallmichael_-_your_body_(original_radio_edit).mp3
tekst.C-Bool Feat Dj Pierce - Valle De Larmes(Vocal Rmx).mp3
tekst.screenshot1163749086.jpg
tekst.temp.png


Jak widać obydwa sposoby działają (na oko) poprawnie. Dzięki za wskazówki!


Użyłeś cudzysłowów... ot i cała tajemnica. Nadal jednak wywali się to jesli w nazwie pliku będzie znak nowe linii.

Autor:  Kimas [ wtorek, 21 listopada 2006, 18:22 ]
Tytuł: 

dobra a teraz moglbym ktos to ladnie opisać, co gdzie i jak wpisac????

Autor:  marask [ wtorek, 21 listopada 2006, 23:13 ]
Tytuł: 

mhm? czyżby nazwy zmiennych (stałych?) były źle opisane?

Autor:  Kimas [ wtorek, 21 listopada 2006, 23:44 ]
Tytuł: 

znaczy wiem gdzie wpisac logi, haslo, katalog ale juz nie wiem jak ten script ma wygladac...

Autor:  marask [ środa, 22 listopada 2006, 08:52 ]
Tytuł: 

to jest gotowy skrypt :] wklej go do jakiegoś pliku i zapisz. Potem chmod +x nazwa_skryptu. i ./nazwa_skryptu. Jak nie sypnie błędami to jesteśmy w domu :)

Autor:  Kimas [ środa, 22 listopada 2006, 16:41 ]
Tytuł: 

nie wiem jak ma wygladać koncowa wersja tego scriptu :(

Autor:  puchatek007 [ środa, 22 listopada 2006, 16:57 ]
Tytuł: 

: [/] [] ()
#!/bin/bash
########### dane
katalog='/home/test/'
port='21'
host='test.com'
login='tester'
haslo='pass'
###############
cd $katalog
for i in *; do
curl -P $port -T $katalog/"$i" ftp://$login:$haslo@$host
done;


Sprawdzony, działa.
Jeśli nie masz curl-a to: Pacman -S curl.

Autor:  marask [ środa, 22 listopada 2006, 18:38 ]
Tytuł: 

Cytuj:
nie wiem jak ma wygladać koncowa wersja tego scriptu Sad

nadal nie czaję... wpisujesz pod login, hasło itp i dajesz chmod. Powtarzam się, ale nie rozumiem Twoich pytań :/

Autor:  Kimas [ środa, 22 listopada 2006, 23:29 ]
Tytuł: 

marask chodzilo mi o taką odpowiedz jaką udzielił puchatek007, dziekuje za zainteresowanie wszystkim udzielajacym się w tym temacie :)

Autor:  puchatek007 [ środa, 20 grudnia 2006, 14:56 ]
Tytuł: 

Witajcie.

Tym razem ja z małą prośbą.
Wczoraj pół dnia siedziałem nad pewnym skryptem i się nie udało go napisać.

Jego zadaniem jest wyciagnięcie z pewnej strony z AP kilku danych.

Narazie tyle mam:

: [/] [] ()
#!/bin/sh

wget http://login:haslo@10.1.1.222/wlstatbl.asp -P /tmp/ -q
cat /tmp/wlstatbl.asp | grep "<tr class='table2'>" | ....
rm /tmp/wlstatbl.asp


A fragment strony wyłapany grepem jest taki:

: [/] [] ()
<tr class='table2'><td><font size=2>[b]00:ed:88:ea:8b:b6[/b]</td><td><font size=2>4079145</td><td><font size=2>2177309</td><td><font size=2>[b]11[/b]</td><td><font size=2>no</td><td><font size=2>297</td></tr><tr class='table2'><td><font size=2>[b]00:18:85:bb:24:ee[/b]</td><td><font size=2>41317</td><td><font size=2>33998</td><td><font size=2>[b]5.5[/b]</td><td><font size=2>no</td><td><font size=2>300</td></tr><tr class='table2'><td><font size=2>[b]00:08:b1:81:00:02[/b]</td><td><font size=2>1135</td><td><font size=2>1001</td><td><font size=2>[b]11[/b]</td><td><font size=2>no</td><td><font size=2>298</td></tr>


Zadaniem skrypu jest wyświetlić:

00:ed:88:ea:8b:b6 - 11
00:18:85:bb:24:ee - 5.5
00:08:b1:81:00:02 - 11

Ilość wierszy jest różna, od 0 do kilku.

Chciałem poprzez awk wyciąć tagi htmla a reszte danych wczytać do tablicy i odpowiednio wypisać, ale niestety mi sie to nie udało :(.

Będę wdzięczny za pomoc.

Autor:  Mis' [ środa, 20 grudnia 2006, 16:26 ]
Tytuł: 

puchatek007 pisze:
siedziałem nad pewnym skryptem i się nie udało go napisać.

Jego zadaniem jest wyciagnięcie z pewnej strony z AP kilku danych.


zamiast pobierać kod i później gubić tagi, spróbuj uzyć lynx z opcją --dump. Następnie prosta obróbka grepem/awk/sed i powinienes mieć wszystko czego potrzebujesz...

Autor:  puchatek007 [ czwartek, 21 grudnia 2006, 01:19 ]
Tytuł: 

Dzięki, rzeczywiście, lynx z opcją -dump pomógł i skrypt gotowy :)

Strona 1 z 2 Strefa czasowa UTC+2godz.
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/