Curlftpfs - FTP više nije ograničenje
Mnogo web hosting firmi ne pruža klasični shell pristup svojim korisnicima. Najčešće se radi o tzv. shared hosting rešenju, gde više sajtova deli isti server, no u ovom dobu virtualizacije, uglavnom se odbijanje shell pristupa pravda sigurnošću.
A šta ako ja moram da uradim nešto što je nemoguće izvesti preko FTP naloga? Na primer, šta ako moram da obrišem fajlove iz određenog direktorijuma ukoliko su stariji od 10 dana? Ili ako moram da promenim veličinu svih slika u svim podirektorijumima? Takve, a i mnoge druge, stvari koje su relativno česte u administratorskim vodama je apsolutno nemoguće izvesti preko FTP naloga.
GNU/Linux ne bi bio ono što jeste da ne postoji rešenje za ovaj problem. Upoznajte Curlftpfs! Ne baš sexy stranica ovog programa vas može zavarati, ali nemojte dopustiti da odelo sudi - radi se o veoma moćnom alatu.
Instaliranje u modernim distribucijama je više nego lako. U Debijanu:
apt-get install curlftpfs
Sada je sve spremno. Curlftpfs koristi FUSE podsistem Linux kernela, pa ćemo jednostavno montirati FTP server. Sve što je potrebno da znate jesu: adresa FTP servera i korisničko ime i lozinka ukoliko su potrebni. Dakle, prvo montiramo FTP server:
curlftpfs ftp://korisnik:loznika@ftp.mojsajt.com $HOME/sajt
Sada se ceo sadržaj kojem biste pristupali preko FTP klijenta praktično nalazi na vašem fajl sistemu, spreman za korišćenje. Da se vratim svojim pitanjima s početka ovog pisanja.
Brisanje starih fajlova? Nije problem:
cd $HOME/sajt/cache
find . -mtime +10 -exec rm -f '{}' \;
A kako promeniti veličinu gomile slika u svim poddirektorijumima? Veoma lako:
cd $HOME/sajt/cache
find . -name \*.png -exec convert '{}' -resize 800x600! '{}' \;
Ta-da!
Kada je sve završeno, veza sa serverom se prekida preko fusermount programa:
fusermount -u $HOME/sajt
Curlftpfs je, kao što vidite, malo i moćno programče. Toliko je savršen da će ponovo uspostaviti vezu sa serverom, ukoliko istekne timeout (većina host kompanija prekidaju FTP konekcije nakon 15-ak minuta neaktivnosti). Jednostavno montirate, i ne mislite više o tome - kao da je vaš sajt na vašem računaru.
Jedna mala napomena: curlftpfs zavisi od biblioteke pod imenom libcurl, a usled određenih bagova u verzijama 7.15.5 i 7.16.0 te biblioteke može se desiti da odbija da napravi konekciju. Tako da proverite verziju libcurl biblioteke ukoliko primetite neki problem. Kod mene sve radi besprekorno a verzije su:
libcurl: 7.18.0
curlftpfs: 0.9.1