Portaal Portaal Pingviini veeb foorumi pealeht
  Viki  |  IRC  |  Otsing  |  Küsimused ja vastused  |  Profiil  |  Privaatsõnumite vaatamiseks logi sisse  | Logi sisse või Registreeru
<empty>
Vaata järgmist teemat
Vaata eelmist teemat

Postita uus teemaVasta teemale
Autor Sõnum
Ruutz
Pingviini külastaja
Pingviini külastaja


Vanus: 40
Liitunud: 27.11.2007
Postitused: 21
Asukoht: Pärnu
Distributsioon: Suse/Debian
estonia.gif
postituspostitatud: 22.11.2011, 12:25  postituse pealkiri:  Script mis kopeerib faili ftp serverisse  

Oleks vaja ühte scripti mis kopeeriks faili ftp serverisse(asub välisvõrgus). Endal mõistus otsas neid mida netis leidnud olen ei tööta.


obundra
Vana Pingviin
Vana Pingviin


Vanus: 49
Liitunud: 04.08.2005
Postitused: 1213
Asukoht: 127.0.0.1
Distributsioon: RHEL, Solaris, Debian, Gentoo
estonia.gif
postituspostitatud: 22.11.2011, 16:30  postituse pealkiri:  (teema puudub)  

Just äsja netist otsitud, testitud ja töötav Smile.Tekita mingi fail(näiteks ftpskript) sisuga:
Kood:
#!/bin/sh
HOST='sinusftperver'
USER='ftpkasutaja'
PASSWD='ftpparool'
FILE='kopeeritav.fail'

ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
put $FILE
quit
END_SCRIPT
exit 0

anna sellele käivitusõigus, muuda kasutaja, parool jne selliseks nagu sul vaja ja käivita ./ftpskript
Muidugi pole eriti hea mõte hoida paroole niimoodi skriptis, turvalisem oleks kasutada sftp või scp ja autentimist võtmetega.
Juhend kah http://www.stratigery.com/scripting.ftp.html

Näiteks scp abil käiks umbes niimoodi, ennem peab mõlema masina vahel olema seadistatud võtmetega autentimine
Kood:
#!/bin/sh
/usr/bin/scp -i /home/kasutaja/võtmefail /fail/kopeerimiseks kasutaja@hostinimi:/kuhu/fail/kopeerida/


Jutt http://kuutorvaja.eenet.ee/wiki/Ssh#Kasututaja_autentimine_tema_RSA_v.C3.B5tmetega

_________________
IT teenused

-IFFI-
Vana Pingviin
Vana Pingviin


Vanus: 48
Liitunud: 25.06.2005
Postitused: 1411
Asukoht: Lappeenranta-Turku
Distributsioon: Linux MX
finland.gif
postituspostitatud: 22.11.2011, 19:38  postituse pealkiri:  (teema puudub)  

Oleks huvitatud vastupidisest scriptist ehk siis, et määratud ajal võtab script ühendust välise serveriga ja laadib/sünkroonib sealt teatud kausta/faili?

Usun, et see vast on täiesti realselt võimalik!?


antik2
Vana Pingviin
Vana Pingviin



Liitunud: 09.10.2006
Postitused: 634

Distributsioon: Big Strong D...
blank.gif
postituspostitatud: 22.11.2011, 20:04  postituse pealkiri:  (teema puudub)  

-IFFI- kirjutas:
Oleks huvitatud vastupidisest scriptist ehk siis, et määratud ajal võtab script ühendust välise serveriga ja laadib/sünkroonib sealt teatud kausta/faili?

Usun, et see vast on täiesti realselt võimalik!?


Asendad eelnevas skriptis ühe rea:

put $FILE

sellega:

get $FILE


obundra
Vana Pingviin
Vana Pingviin


Vanus: 49
Liitunud: 04.08.2005
Postitused: 1213
Asukoht: 127.0.0.1
Distributsioon: RHEL, Solaris, Debian, Gentoo
estonia.gif
postituspostitatud: 23.11.2011, 14:01  postituse pealkiri:  (teema puudub)  

-IFFI- kirjutas:
Oleks huvitatud vastupidisest scriptist ehk siis, et määratud ajal võtab script ühendust välise serveriga ja laadib/sünkroonib sealt teatud kausta/faili?

Usun, et see vast on täiesti realselt võimalik!?

Lisaks ftp-le võid näituseks rsynci võimalusi katsetada
http://kuutorvaja.eenet.ee/wiki/Rsync

_________________
IT teenused

-IFFI-
Vana Pingviin
Vana Pingviin


Vanus: 48
Liitunud: 25.06.2005
Postitused: 1411
Asukoht: Lappeenranta-Turku
Distributsioon: Linux MX
finland.gif
postituspostitatud: 13.06.2012, 21:17  postituse pealkiri:  (teema puudub)  

Olen vahepeal üritanud seda scripti näppida kui mahti olen saanud aga see kõik on mulle kui raketiteadus, mina seda toimima ei saa. Võimalusel paluks "puust ja punaseks" teha asi. Puurinud ka guuglit aga seal tundusid asjad väga keerulised. Eks asi jääb ka omal keele taha ja valede otsingusõnade taha kinni.

rsync ja muud analoogid katsetatud, ei õnnestu mul neid õigesti seadistada tööl.Sad

Idee on siis järgmine, et kodune masin käiks läbi SSH minu VPS-is ja kopeeriks või sünkrooniks vpsis asuva BACKUP kaustas olevaid faile kodusesse arvuti. Asuvad mul seal www ja mysql backupid. Pole vahet kas sünkroonib kogu kausta või siis seal asuvaid faile.

Tegin siis sellise scripti omal testiks
Kood:
#!/bin/sh
HOST='sftp://279.433.333.932'
USER='kasutajanimi'
PASSWD='parool'
FILE='/var/backups'

ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
get $FILE
quit
END_SCRIPT
exit 0


Salvestasin selle siis ./ftpskript.sh

Avasin terminali ja logisin ruuduks ennast ning siis liikusin CD käsuga kausta kus script asub ning kui sisestasin ./ftpskript sain vastuseks bash: ./ftpskript.sh: Permission denied

Oleksin ülimalt rõõmus kui saaks selle skripti tööle ja päkupid oma masina Very Happy


mihkel
Vana Pingviin
Vana Pingviin



Liitunud: 16.04.2006
Postitused: 1284

Distributsioon: Fedora/Centos
estonia.gif
postituspostitatud: 13.06.2012, 21:21  postituse pealkiri:  (teema puudub)  

Kui saad sellise veateate, siis esimene asi oleks kontrollida õigusi Razz
Mida näitab
ls -l
selle skripti kataloogis


-IFFI-
Vana Pingviin
Vana Pingviin


Vanus: 48
Liitunud: 25.06.2005
Postitused: 1411
Asukoht: Lappeenranta-Turku
Distributsioon: Linux MX
finland.gif
postituspostitatud: 13.06.2012, 21:42  postituse pealkiri:  (teema puudub)  

sellele failile näitab nii.

-rw-rw-r-- 1 iffi iffi 186 juuni 13 21:58 ftpskript.sh

ega ma noid õigusi jah ei oska miskit määrata.


mihkel
Vana Pingviin
Vana Pingviin



Liitunud: 16.04.2006
Postitused: 1284

Distributsioon: Fedora/Centos
estonia.gif
postituspostitatud: 13.06.2012, 21:43  postituse pealkiri:  (teema puudub)  

Käivitusõigus ju puudu.
chmod +x ftpskript.sh


-IFFI-
Vana Pingviin
Vana Pingviin


Vanus: 48
Liitunud: 25.06.2005
Postitused: 1411
Asukoht: Lappeenranta-Turku
Distributsioon: Linux MX
finland.gif
postituspostitatud: 13.06.2012, 22:01  postituse pealkiri:  (teema puudub)  

Nüüd miski vale aadres. Ise kasutan küll jah SFTP-d aga siin ei lase ka seda või taas ma ei oska.

Terminalist selline vastus
[code]root@iffi-iffi:/home/iffi/Dokumendid# ./ftpskript.sh
ftp: ftp://***.***.***.*** Name or service not known
Not connected.
Not connected.
Not connected.


obundra
Vana Pingviin
Vana Pingviin


Vanus: 49
Liitunud: 04.08.2005
Postitused: 1213
Asukoht: 127.0.0.1
Distributsioon: RHEL, Solaris, Debian, Gentoo
estonia.gif
postituspostitatud: 14.06.2012, 10:37  postituse pealkiri:  (teema puudub)  

Hosti nimi su skriptis peab olema ainult nimi, ehk siis nime eest jäta igasugu ftp:// ja sftp:// ära.
Kui scp tahad kasutada, siis piisab näiteks sellest:
Kood:
/usr/bin/scp -r -i /home/kasutaja/võtmefail kasutaja@hostinimi:/kaust/mis/kopeerida/ /kuhu/kopeerida/

_________________
IT teenused

-IFFI-
Vana Pingviin
Vana Pingviin


Vanus: 48
Liitunud: 25.06.2005
Postitused: 1411
Asukoht: Lappeenranta-Turku
Distributsioon: Linux MX
finland.gif
postituspostitatud: 14.06.2012, 15:32  postituse pealkiri:  (teema puudub)  

Tänud, sain toimima. Aga kuidas panna asi automaatselt iga öö tööle? ja kuidas salvestada sinna scripti oma VPS SSH parool, et ta seda ei küsiks.

Ennem vpsi ssh parooli küsis Enter passphrase for key '/home/iffi/.ssh': sisestasin sinna number 1 ja siis seejärel vpsi ssh parooli:!


illukas
Vana Pingviin
Vana Pingviin


Vanus: 44
Liitunud: 24.10.2006
Postitused: 2036


norway.gif
postituspostitatud: 14.06.2012, 18:33  postituse pealkiri:  (teema puudub)  

croniga panedki öösiti tööle ja skripti sisse kirjutad mingi muutujaga ka parooli
PS root accounti ei ole mõistlik selleks kasutada, tee mingi suvaline kasutaja just ja ainult selleks tööks- veel hea oleks kui kasutaja on chrooditud ja kõikvõimalikud limitid on peal jne... übersuper oleks talle acl-idega tervele failisüsteemile ka deny teha...
seda siis ideaalis

_________________
https://www.inlink.ee

-IFFI-
Vana Pingviin
Vana Pingviin


Vanus: 48
Liitunud: 25.06.2005
Postitused: 1411
Asukoht: Lappeenranta-Turku
Distributsioon: Linux MX
finland.gif
postituspostitatud: 14.06.2012, 18:48  postituse pealkiri:  (teema puudub)  

Ok, ja tänud vihje eest aga nagu ma eespool mainisin pole ma suuteline oma peaga seda croni ja miskit muutujat sinna juurde keevitama ja cronni käivitama.

Jah, olen juba korduvalt saanud "mööda näppe" selle root õigustes VPS-i näpimisest Razz

-E- Cronile vist sain pihta sinna tuleb vist lisada ette aeg....hetkel siis näeb scripti algus välja selline

Kood:
* 0 * * */usr/bin/scp -r -i....


Nii palju kui ma arusain siis see 0 peaks saatma automaatselt selle scripti faile tooma. Olen ma õigel teel?

Hetkel ei kannata testida kuna scripti on vaja saada veel nod paroolid sisse, et ei küsiks igal käivitamisel.


akbgf
Vana Pingviin
Vana Pingviin



Liitunud: 07.10.2009
Postitused: 763
Asukoht: Tõravere
Distributsioon: OpenSUSE, Ubuntu
estonia.gif
postituspostitatud: 15.06.2012, 07:37  postituse pealkiri:  (teema puudub)  

-IFFI- kirjutas:
Cronile vist sain pihta sinna tuleb vist lisada ette aeg....hetkel siis näeb scripti algus välja selline

Kood:
* 0 * * */usr/bin/scp -r -i....


Nii palju kui ma arusain siis see 0 peaks saatma automaatselt selle scripti faile tooma. Olen ma õigel teel?


Enamvähem. Pane esimese tärni asemele ka mingi number, muidu hakkab käsku täitma iga minut, kui kellaaja tunninäit on null.

Täidetavaks pane /usr/bin/scp asemele oma skript
/home/iffi/Dokumendid/ftpskript.sh

Croni proovimiseks tee lihtsam skript, näiteks

:
date
echo 'Tere IFFI!'

Seda võid lasta julgesti igal kellaajal käima.


illukas
Vana Pingviin
Vana Pingviin


Vanus: 44
Liitunud: 24.10.2006
Postitused: 2036


norway.gif
postituspostitatud: 15.06.2012, 11:52  postituse pealkiri:  (teema puudub)  

võtsin masinatest mingi suvalise scripti... jookseb küll rsynciga kuid lihtne mingit teist asja asemele tekitada.
Kui keegi viitsib selle wikisse ülesse panna oleks heameelega nõus


rsync.sh.zip
 Kirjeldus:
backup script rsync baasil

Allalaadimised
 Failinimi:  rsync.sh.zip
 Failisuurus:  781 baiti
 Alla laaditud:  299 kord(a)

_________________
https://www.inlink.ee

-IFFI-
Vana Pingviin
Vana Pingviin


Vanus: 48
Liitunud: 25.06.2005
Postitused: 1411
Asukoht: Lappeenranta-Turku
Distributsioon: Linux MX
finland.gif
postituspostitatud: 21.06.2012, 06:04  postituse pealkiri:  (teema puudub)  

Niih, asi siis nii kaugel, et croni asja sain käima ja selgeks ja nüüd jääb puudu veel aint see parooli küsimine.

Terminalis siis asi näeb hetkel välja nii kui käivitan oma scripti.
Kood:
iffi@iffi-iffi:~$ ./backup.sh
Enter passphrase for key '/home/iffi/.ssh': [I](siin vajutan lihtsalt enter)[/I]
root@***.***.***.***'s password: [I](ja siia pean siis sisestama parooli käsitsi)[/I]


Et kuidas siis saaks lahti sellest probleemist. Siis asi ka toimiks perfectselt.

illukas antud scripti pole veel proovinud aga uurisin sisu ja ei näinud sealgi võimalust kuhugi parooli kirjutada. Ei hakka veel seda testima, prooviks esmalt ikka oma leiutise käima saada.

Võib visata ka siia linke kuidas ja kuhu need paroolid kirjutama peab, ise ei suuda välja guugeldada.


akbgf
Vana Pingviin
Vana Pingviin



Liitunud: 07.10.2009
Postitused: 763
Asukoht: Tõravere
Distributsioon: OpenSUSE, Ubuntu
estonia.gif
postituspostitatud: 21.06.2012, 07:34  postituse pealkiri:  (teema puudub)  

-IFFI- kirjutas:
Niih, asi siis nii kaugel, et croni asja sain käima ja selgeks ja nüüd jääb puudu veel aint see parooli küsimine.

man ftp aitab.

Oma kodukataloogi .netrc faili pane vajalikud asjad kirja.


-IFFI-
Vana Pingviin
Vana Pingviin


Vanus: 48
Liitunud: 25.06.2005
Postitused: 1411
Asukoht: Lappeenranta-Turku
Distributsioon: Linux MX
finland.gif
postituspostitatud: 21.06.2012, 22:18  postituse pealkiri:  (teema puudub)  

Nüüd sai vist pika googeldamise ja muu lugemisega valmis voolitud see .netrc fail sisuga;

Kood:
machine 192.168.22.45
login walker
password abc123
macdef init
prompt
as
mget rpt*.log
quit


Salvestasin /home/iffi/.netrc

chmoodisin #chmod 600 .netrc

Viskasin shelli käsu
# .netrc
ja väljund selline alates chmodimisest
Kood:
root@iffi-iffi:/home/iffi# chmod 600 .netrc
root@iffi-iffi:/home/iffi# .netrc
.netrc: command not found
root@iffi-iffi:/home/iffi# ./netrc
./netrc: line 1: machine: käsku ei ole

Login incorrect
iffi-iffi login:
Login timed out after 60 seconds.
./netrc: line 3: password: käsku ei ole
./netrc: line 4: macdef: käsku ei ole
./netrc: line 5: prompt: käsku ei ole

root@iffi-iffi:/home/iffi# .netrc
.netrc: command not found



Et siis taas küsimused kus mis on valesti ja kuidas ma seda näitan selle ette ./backup.sh failile, et to sealt võtaks selle parooli? Cron on ka loodud hetkel testimise eesmärgil järgmisel kujul
Kood:
50 16 * * * /home/iffi/./backup.sh > /var/log/backup.log


Mõistus on täiesti otsas aga vist kaugel enam pole, et asi käima saada korralikult.


akbgf
Vana Pingviin
Vana Pingviin



Liitunud: 07.10.2009
Postitused: 763
Asukoht: Tõravere
Distributsioon: OpenSUSE, Ubuntu
estonia.gif
postituspostitatud: 22.06.2012, 08:11  postituse pealkiri:  (teema puudub)  

-IFFI- kirjutas:
Mõistus on täiesti otsas aga vist kaugel enam pole, et asi käima saada korralikult.

Eks ta paras puderkapsaatika on Sul.

Alustaks tagantpoolt.

> 50 16 * * * /home/iffi/./backup.sh > /var/log/backup.log

sinna iffi ja backup.sh vahele pole punkti vaja.

Millega backup.sh-is faile liigutatakse, kas ftp või scp-ga?
$HOME/.netrc on konfifail ftp jaoks. See ei kuulu täitmisele ei käsurealt ega skriptis.

Minul on ftp pakist lukemftp-1.5-733.1.i586. Selle man pakub ka käsurealt parooli andmise võimalust ja see töötab:

usage: ftp [-AadefginpRtvV] [-o outfile] [-P port] [-r retry]
[-T dir,max[,inc][[user@]host [port]]] [host:path[/]]
[file:///file] [ftp://[user[:pass]@]host[:port]/path[/]]
[http://[user[:pass]@]host[:port]/path] [...]

% ftp -o test.txt ftp://kasutaja:parool@my.host.ee/test.txt
Trying ???.??.1...
Connected to my.host.ee.
220 (vsFTPd 2.0.1)
331 Please specify the password.
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
200 Switching to Binary mode.
local: test.txt remote: test.txt
229 Entering Extended Passive Mode (|||18619|)
150 Opening BINARY mode data connection for test.txt (32808 bytes).
100% |*****************************************************| 32808 2.39 MB/s 00:00 ETA
226 File send OK.
32808 bytes received in 00:00 (2.38 MB/s)
221 Goodbye.

Faili asukoht on kasutaja kodukataloogi suhtes, nii et kui fail on /home/iffi/test.txt, siis ftp käsus jäetakse /home/iffi eest ära.

Siin ka näide ühe anonüümse ftp-sessiooni kirjeldusest .netrc-s, kus kasutaja on ftp ja parool on minu e-aadress:
Kood:
machine ftp.meteo.fr
login ftp
password minu_kasutajanimi@my.host.ee
macdef init
binary
lcd public_html/weathergifs
cd tpsreel
get satt0.gif MF.gif
get isp.gif MFF.gif
close
bye

Tollast ftp-ga skripti pole enam alles, praegu saan need failid kätte wget-iga.

E:
Leidsin siiski üles. Ega seal polnudki midagi erilist,
mfr.sh, mis käivitati öösel croniga :

ftp ftp.meteo.fr >> ~/.crontab_log/MF_log 2>&1
set `tail \-1 ~/.crontab_log/MF_log`
if [ $1 = ftp: ]
then
ed -s [väike redigeerimine]
else
ed -s [väike redigeerimine]
fi

Kogu seda ed-ga redigeerimist pole Sul vaja.


Näita (aja järgi):      
Postita uus teemaVasta teemale


Vaata järgmist teemat
Vaata eelmist teemat
Powered by phpBB2 Plus based on phpBB © 2001/7 phpBB Group