(6.1.2013, avainsanat: bash, lftp, skripti, ftp, siirto)
lftp on tiedostonsiirto-ohjelma joka mahdollistaa tiedostojen rsync-tyyppisen siirron etäpalvelimille kun rsync:ä ei ole mahdollista käyttää. mirror2ftp on komentorivikuori (bash-skripti) jonka tarkoitus on yksinkertaistaa (hivenen) lftp-ohjelman käyttöä nimenomaisesti ftp-palvelimia vastaan.
Graafisiin ohjelmiin tottuneiden kannattaa käyttää esim. FileZillaa, gftp:tä tai vastaavaa graafista asiakasohjelmaa.
user@teac:~/Downloads$ sudo cp mirror2ftp.sh \
/usr/local/bin/mirror2ftp
[sudo] password for user: [your-passwd-here]
user@teac:~/Downloads$ sudo chmod ugo+x /usr/local/bin/mirror2ftp
user@teac:~/Downloads$ ls -l /usr/local/bin
total 28
:
-rwxr-xr-x. 1 root root 5426 May 19 2013 mirror2ftp
:
user@teac:~/Downloads$ mirror2ftp -h
Usage:
mirror2ftp [-u|--username] username] [[-p|--password] password]
[-d|--delete] [-v|--verbose]
[[-s|--source] local-directory]
[[-f|--ftp] ftp-server-name]
[[-t|--target] site-directory]
Arguments are:
[-u|--username [username]
account name for ftp site
[-p|--password password]
password for account
[[-s|--source] local-directory]
local directory from which to mirror (a source)
[[-f|--ftp ftp-server-name]
target ftp site (DNS) name or IP address
[[-t|--target site-directory]
target ftp site directory
[-d|--delete]
delete target files which do not exist in source (not default)
[-h|--help]
show these instructions
[-v|--verbose]
show more detailed outputSkriptillä voi esim. päivittää www-palvelimella olevia veppisivuja joihin on sallittu vain ftp. Sinällään tämä luonnistuu graafisilla ohjelmilla hyvin, mutta tässä siirretään rsync-tyylisesti vain muuttuneet tiedot, mikä nopeuttaa siirtoa ja vähentää kaistan käyttöä.
Esim. (kenoviiva tarkoittaa komentorivin jatkumista)
user@teac:~/www$ mirror2ftp -v -d -u [your-username-here] \
-p [your-passwd-here] \
-s /home/www/domainname/html/ \
-f ftp.domainname.com \
-t public_html/
Jos jotain oleellista tietoa jättää pois komentorivioptioista, skripti siirtyy interaktiiviseen tilaan ja kyselee tarvittavat tiedot.
Jos tiedostojen poisto-optiota (-d) ei anneta, tiedostot kumuloituvat kopiointipäähän.
Huomaa että kohdehakemiston sisältö kopioidaan lähdehakemistoon. Eli yllä olevassa esimerkissä hakemiston ...domainname/html/ sisältö kopioidaan hakemistoon public_html/. Hakemisto html ei siis tule hakemiston public_html alle.
Huomaa myös kohdehakemiston suhteellinen osoite (tapauskohtaisesti voit joutua myös kirjoittamaan koko URLin). Tarkista toiminta ensin pienellä siirtomäärällä; eritysesti poisto-optio -d eli kohdepään tiedostojen poisto voi tällöin aiheuttaa ikäviä yllätyksiä.
Versio 0.1 (18.5.2013)
Tiedostona: mirror2ftp.sh
Powered by CMSimple_XH | RO