Playing With Sid

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Wednesday, 30 January 2008

Website file Uploads With lftp

Posted on 10:14 by Unknown

Keeping your website updated is tedious job,especially when you have lot of files,which you edit quite often.And having to do the such work over ftp makes it worse.



In this article we’ll use a command line based file transfer program lftp(http://lftp.yar.ru/) written by Alexander .V. Lukyanov to do website file uploads.Though
there are many other ftp clients,lftp is simpler to use,feature rich,can upload several files in parallel and it comes bundled up with most Gnu/Linux distributions.

lftp is a powerful tool, its built-in mirror facility is suitable for keeping your website updated and secure by replicating permissions on the uploaded files.It checks for modified files by checking the file sizes and file modification times.

Using lftp on Command Line



Now you have a local directory on your computer where you keep all your website files(/home/joe/site_files).Let upload these files to your remote webserver directory using lftp on command line.First lets connect to your hosting service providers webserver with username and password.




$ lftp -u username ftp.hostingcompany.net

Password:




The lftp program will prompt for the password,type your secret password and you will be logged in.



Now issue the ‘lcd’ command to change directory to local directory where your all website files reside.




lftp username@ftp.hostingcompany.net:~> lcd /home/joe/site_files

lcd ok, local cwd=/home/joe/site_files





Now use the lftp mirror built-in’s reverse option (-R) of lftp to

upload all files local files into remote directory on the webserver.




lftp username@ftp.hostingcompany.net:~> mirror -R


Total: 12 directories, 36 files, 0 symlinks

Modified: 13 files, 0 symlinks




You can use “ mirror -R —only-newer “ command if you want only new
files to uploaded.Once the upload is finished lftp will print out a report.Now you can end the connection by typing quit.





lftp username@ftp.hostingcompany.net:~> quit




Running lftp in a Script



Now that we have seen lftp in action.Let run all the commands from script instead.Luke Vanderfluit provides this nice little script.




lftp -u username,password ftp.hostingcompany.net <<EOF

cd / # remote directory on webserver

lcd /home/joe/site_files # local directory on your computer

mirror -R # Upload the files to remote directory

quit 0 # Drop the connection

EOF





Save all the commands in a file ‘upload_mysite’ and make it executable with ‘chmod +x upload_mysite’.Run the script by typing ‘./upload_mysite’ on the command line.As your username and password are stored it file,its a better not let anyone else to view it.Changing file permissions with ‘chmod go-rwx upload_mysite’.



Maintaining Multiple Websites



Running lftp from script is not a good idea if you have to maintain multiple sites.Instead you can use lftp’s ‘-f’ option.You can store settings of different websites into separate files.Suppose you have two websites site1 and site2.



The settings of the both the sites are stored in files ‘mysite1.lftp’ and ‘mysite2.lftp.




#####mysite1.lftp#######################

open ftp.myisp.net

user username password

lcd /usr/joe/site1_files

mirror -R

exit
#########################################





#####mysite2.lftp#######################

open ftp.hostingcompany.com

user username password

lcd /usr/local_site_location

mirror -R

exit
#########################################




To update site1, we will run lftp with ‘-f’ option.




$ lftp -f mysite1.lftp




And to update the next website.




$ lftp -f mysite2.lftp




Some other usefull features provided by ‘mirror’ built-in are the —parallel = N where in it will use N simultaneous connections to upload the files,this speeds up the upload considerably.If you want to exclude some files from being uploaded use (- x , – X) . And —delete to remove those files which are not present in local directory.



lftp can also be run as a cron job . Jani Reinikainen shows an interesting use of lftp to periodically mirroring a directory to a remote computer.



References



lftp manual page [http://lftp.yar.ru/lftp-man.html ]


lftp FAQ [http://lftp.yar.ru/FAQ ]

lftp Download page [http://lftp.yar.ru/get.html ]

Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest
Posted in command line, CommandLine, debian, lftp, sitecopy | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • Gitbox Git GUI tool
    Here is another post in the series of the posts about tools that makes developers life simpler. Git was developed as distributed revision c...
  • Vietnamese Language Tools: Developing Keyboards and Spell-checker
    Mentoring Mozilla Vietnamese localization team to develop Vietnamese keyboard and spell checker for Firefox OS . We built and tested Vietna...
  • Install CyanogenMod 10.1 (Android Jellybean 4.2.2) on Samsung Galaxy S2 (GT-I9100G)
    In this post we'll install Cyanogenmod CM 10.1.x on Samsung Galaxy SII mobile phone. Please note this instructions apply to Samsung Gal...
  • New Year's Post
    What a year it was, a little high and little lows and whole bunch of controversies of course. And to top it all I decided to stay back in ke...
  • Change Samba Password Expiry Setting with pdbedit
    We have a Zentyal (Formerly EBox) Linux Small Business Server running as our office file/print server. Its runs smoothly hardly needs any ...
  • How to Install LibreOffice in Ubuntu
    In my last post I talked about LibreOffice. In case you wondering how to install LibreOffice on your ubuntu computer. Here are the instruct...
  • Barcamp Phnom Penh 5
    Last year we kick-started Mozilla Firefox Aurora Khmer localization effort at Barcamp Phnom Penh 4 . Now a year later, Thanks to efforts of ...
  • Dots braille editor for Linux
    Dots is braille typesetting program for gnu/Linux, it can translate XML and MS DOC files and displays it both ASCII and braille dot notati...
  • Postfix Log Entry Summarizer
    Everyday I manage a Postfix mail server that handles emails from 20 mailing-lists. On days like this when there lot of email traffic, I ke...
  • Healthy Fruit Juices In Trivandrum
    For most visitors to Kerala the tender coconut juice seems to be standard choice. If you are feeling adventurous visit Chitra Juice Palace ...

Categories

  • "Blog Action Day 08 - Poverty"
  • "blog action day"
  • "Compiz Extras "
  • "compiz-fusion"
  • "film making"
  • "FSUG-Bangalore"
  • "GISS"
  • "Graphic Design"
  • "Linux"
  • "martial art"
  • "New Media"
  • "open movie editor"
  • "OpenCV"
  • "web authentication"
  • "web automation"
  • "web testing"
  • 01-18-2012
  • 10.04
  • 10.10
  • 3dprinting
  • 9.04
  • a
  • a11y
  • accerciser
  • accessibility
  • acpi
  • Activism
  • adobe
  • adzap
  • aegis
  • africa
  • AIR
  • ajax
  • alsa
  • AMD64
  • Andhra Pradesh
  • android
  • angling
  • Animals
  • anusaaraka
  • apache
  • apertium
  • api
  • apm
  • apple
  • apport
  • Apps Script
  • apt-get
  • apt-key
  • architecture
  • archmage
  • ardour
  • arduino
  • ARM
  • art
  • asterisk
  • atom
  • audio description
  • backlinks
  • bangalore
  • barcamp
  • barcamphanoi
  • barcampkl
  • barcamppp
  • barcampsaigon
  • barcampvte
  • bash
  • bbc
  • bcy2011
  • beagle
  • beercamp
  • Beryl
  • big buck bunny
  • biofuel
  • bittorrent
  • blackout
  • blender
  • blind
  • blogger
  • blogging
  • book
  • Boot-Process
  • boot2gecko
  • bootparam
  • braille
  • brazil
  • breakpad
  • broadcom
  • bugs
  • bzr
  • Calicut
  • cambodia
  • canon
  • Canopy
  • cartoons
  • cat
  • CC
  • CDAC
  • CDMA
  • celliax
  • censorship
  • CES 2008
  • CES08
  • CHDK
  • chennai
  • children
  • china
  • CHM
  • chmsee
  • Chromium
  • classmate PC
  • cleaning
  • Climate Change
  • cloud computing
  • cms
  • codec
  • Comedy
  • comics
  • command line
  • CommandLine
  • compiz
  • Computational Linguistics
  • console
  • cpan
  • Creative Commons
  • cron
  • css
  • curl
  • cut
  • cyanogenmod
  • DAISY
  • debian
  • debian documentation
  • debian upgrade-system
  • Debian-IN
  • deborphan
  • delhi
  • design
  • dhvani
  • django
  • DJvu
  • dmesg
  • documentation
  • dontzap
  • dots
  • dpatch
  • drupal
  • drush
  • earth hour
  • easy_install
  • ebay
  • eclipse
  • Ecuador
  • education
  • eee pc
  • eeepc
  • elinks
  • Elinks2
  • emacs
  • embedded linux
  • Environment
  • equivs
  • espeak
  • etch
  • events
  • fennec
  • ffmpeg
  • fiction
  • film
  • film making
  • find
  • findutils
  • firefox
  • firefox3
  • firefox4
  • firefoxOS
  • firmware
  • fishing
  • flying
  • foss.in
  • fossasia
  • fossin2008
  • FOSSMeet
  • free culture
  • free software
  • FreeNode
  • fsf
  • fsfs
  • fx4
  • G1
  • gadgets
  • gdm
  • gedit
  • geek humour
  • geocoding
  • Gimp
  • GISS
  • GIST
  • git
  • gnewsense
  • gnochm
  • gnome
  • google
  • google app engine
  • google earth
  • gplv3
  • grep
  • grub
  • GSM
  • gstreamer
  • gta02
  • GUI Testing
  • habba.in
  • hack
  • hackable1
  • hacker
  • handbrake
  • hanoi
  • hanoitweetup
  • hardware
  • hardy heron
  • HCU
  • hindi
  • hipatia
  • history
  • hosting
  • hotkeys
  • how to
  • HowTo
  • html
  • html5
  • HTTP
  • humour
  • hunspell
  • hyderabad
  • i810
  • ICANN41
  • iceweasel
  • identi.ca
  • IEEE
  • iffk
  • iframe
  • IISE
  • ILS
  • ILUG-D
  • IM
  • imacros
  • india
  • india_engg_students
  • Indian Languages
  • indic
  • indlinux
  • initscripts
  • Inkscape
  • intel
  • interaction design
  • internet
  • internet kiosk
  • intersat
  • Intrepid
  • Intrepid Ibex
  • ipod
  • IRC
  • jam
  • jaunty
  • Java
  • Javascript
  • Jet Man
  • josm
  • jquery
  • JSSH
  • Kannada
  • karmic
  • Kchm
  • kerala
  • kernel
  • keyboard
  • keycode
  • kid
  • kiddy video
  • kids
  • kinect
  • kiosk
  • koha
  • l10n
  • laos
  • launchpad
  • layout
  • ldap
  • lenny
  • less
  • lftp
  • libchm
  • library
  • libreoffice
  • lilo
  • Linux
  • lisp
  • local weather
  • locate
  • logging
  • lttoolbox
  • lucid
  • lv
  • machine translation system
  • madras
  • maemo
  • mailing-list
  • mallard
  • MALT
  • malware
  • man
  • manga
  • maps
  • maverick
  • mediawiki
  • meego
  • mencoder
  • merkaartor
  • Mibbit
  • micro-blogging
  • midori
  • mlocate
  • Mobile
  • moblin
  • mod_pagespeed
  • modem
  • more
  • most
  • mother
  • mozcamp
  • mozilla
  • Mozilla Crash Reporter
  • mplayer
  • MT
  • mukt.in
  • music
  • mwc2012
  • myanmar
  • mymozl10n
  • mysql
  • n70
  • nature
  • nedumangad
  • neo freerunner
  • Neo1973
  • nepal
  • netbooks
  • newbies
  • news
  • NGO
  • NITC
  • NLP
  • NLTK
  • Nokia
  • Nonprofits
  • notify-osd
  • novell
  • NUI
  • nvda
  • OCR
  • oddmuse
  • OLPC
  • ooffice
  • open movie
  • openDNS
  • openmoko
  • openNI
  • openOffice
  • openoffice.org
  • OpenStreetMap
  • opensuse
  • openvt
  • orca
  • OS
  • oscar
  • OSM
  • Package-Management
  • packaging
  • pager
  • parenting
  • patents
  • pbx
  • PDF
  • people
  • perl
  • Pets
  • Phatch
  • photography
  • php
  • php-nuke
  • phpnuke
  • pidgin
  • PIL
  • pipa
  • podcast
  • podcasting
  • pokhara
  • POS Tagger
  • postfix
  • potlatch
  • poweroff
  • powershot
  • proc
  • programming
  • pune
  • puppylinux
  • pyCairo
  • python
  • pythonegg
  • QA
  • Qmail
  • radio show
  • Recycling
  • red nose day
  • redhat
  • regex
  • RFC
  • RHEL
  • rms
  • RND
  • robots
  • rockbox
  • RSS
  • RSS/XML
  • rtorrent
  • rubber
  • ruby
  • rural
  • s60
  • sahana
  • samba
  • sampada
  • samsung
  • sbcl
  • science
  • scipy
  • search
  • security
  • SFD2011
  • shell
  • short-stories
  • shutdown
  • silk
  • singapore
  • sitecopy
  • skype
  • slocate
  • social media
  • software patents
  • software-center
  • softwarefreedomday
  • solar
  • solar eclipse
  • sopa
  • space
  • spam
  • SPE editor
  • speakers
  • spins
  • squid
  • stallman
  • stanford parser
  • startups
  • startx
  • stumpwm
  • SUSE
  • system-adminstration
  • sysvinit
  • t-shirt
  • tablet
  • tactile watch
  • tea shops
  • teacher
  • technology
  • tee
  • telugu
  • terminal
  • terminal Tags: command line
  • Tesseract
  • Testing
  • The IT Crowd
  • theatre
  • tibet
  • tracker
  • travel
  • trek
  • trekking
  • tux4kids
  • tuxmath
  • tv
  • tweets
  • twitter
  • ubuntu
  • UMPC
  • unicode
  • UNR
  • uptime
  • urdu
  • User friendly
  • uTouch
  • UX
  • UXA
  • vagrant
  • VCS
  • veli
  • vidarbha
  • video
  • video hamming
  • video hams
  • video-ham
  • vim
  • virutalization
  • visualization
  • voip
  • vsat
  • w3c
  • watches
  • water from dew
  • WATiR
  • weather stations
  • weave
  • web automation
  • web standards
  • web testing
  • web-browser
  • web2py
  • webmaker
  • wget
  • Wiki
  • wikia
  • wikipedia
  • Windows
  • Windows XP
  • wmv
  • Word Press
  • wordpress
  • worm
  • wrapzap
  • writing
  • wvdial
  • X-Window-System
  • X11
  • xchm
  • xev
  • xml
  • xmlstarlet
  • XO Laptop
  • xorg
  • xserver
  • xvidcap
  • yahoo groups
  • yahoo maps
  • yelp
  • Yves Rossy
  • Zii
  • ZTE

Blog Archive

  • ►  2013 (23)
    • ►  December (3)
    • ►  November (3)
    • ►  September (1)
    • ►  August (1)
    • ►  July (1)
    • ►  June (2)
    • ►  May (3)
    • ►  April (1)
    • ►  March (1)
    • ►  February (5)
    • ►  January (2)
  • ►  2012 (26)
    • ►  December (3)
    • ►  November (1)
    • ►  October (1)
    • ►  July (1)
    • ►  June (3)
    • ►  May (6)
    • ►  April (1)
    • ►  March (8)
    • ►  January (2)
  • ►  2011 (43)
    • ►  December (2)
    • ►  November (7)
    • ►  October (8)
    • ►  September (4)
    • ►  August (5)
    • ►  June (1)
    • ►  February (6)
    • ►  January (10)
  • ►  2010 (73)
    • ►  December (17)
    • ►  November (5)
    • ►  October (10)
    • ►  September (3)
    • ►  August (8)
    • ►  July (9)
    • ►  June (4)
    • ►  March (5)
    • ►  February (7)
    • ►  January (5)
  • ►  2009 (108)
    • ►  December (7)
    • ►  November (10)
    • ►  October (8)
    • ►  September (6)
    • ►  August (8)
    • ►  July (4)
    • ►  June (5)
    • ►  May (6)
    • ►  April (15)
    • ►  March (15)
    • ►  February (9)
    • ►  January (15)
  • ▼  2008 (223)
    • ►  December (45)
    • ►  November (28)
    • ►  October (32)
    • ►  September (4)
    • ►  August (11)
    • ►  July (6)
    • ►  June (11)
    • ►  May (3)
    • ►  April (11)
    • ►  March (7)
    • ►  February (3)
    • ▼  January (62)
      • OLPC XO-1 demo-ed at ILUG-Goa Meet
      • If Operating Systems Ran The Airlines
      • Wake up to the music
      • Volunteer with Free Software Foundation of India (...
      • Raw Control Characters In Less pager
      • Free Website Uptime Monitoring Service
      • Upgrade problems for sysvinit (2.86.ds1-16 | 2.86....
      • RFC Humour: Really Funny Collection
      • OI! Move over, The IT Crowd is here
      • Logging PHPnuke Database Connection Failures
      • What works in Yahoo! Groups spam control ?
      • Handling CHM files in GNU/Debian Linux
      • How to Block Ads With Adzap
      • Multimedia/Internet Keyboards in GNU/Linux
      • Website file Uploads With lftp
      • GNU GPL version 3 released ( GPLv3 )
      • Yahoo! India maps now offers Geocoding service
      • BitTorrent "INFO : duplicate connection (id collis...
      • Its party time for Debian camp
      • libTorrent / rTorrent 0.7.0 debian packages available
      • Smart URL 's in Elinks
      • Error messages on the console screen
      • Download High Quality Movie Trailers
      • GNU/Debian Linux don't power off after shutdown
      • What is Video-Hams
      • Understanding The Free Software Philosophy
      • The Indian Linux Community
      • !Just Another Source Forge.net Project
      • GNU Debian upgrade-system script deborphan purge w...
      • Coders And SysAdmins
      • New CD Writing Tools in Debian "Etch"
      • Hacker High School
      • BitTorrent 4.20.x python2.4 packages on Debian
      • Debian NEW and BYHAND Packages
      • Advanced Ad-blocking in Firefox
      • Debian and mplayer FAQ
      • Christian Marillat's Debian packages moves to ...
      • Google Earth Under Linux
      • Faux Columns: Javascript solution
      • WCAG2 objections, threats, unprintables
      • Python2.4 only debian setup
      • All The Moneys Worth
      • House of Dancing Lights
      • Debian Dpatch How To
      • Asus Eee PC goes on Sale in India
      • Visual Guide to Debian Release Code Names
      • Top 5 Reasons Why Mike Loves Debian
      • Guide to Unix/Linux Commands
      • Cheap laptops (15k) in India
      • EeePC with Every Hack Possible (GPS, Bluetooth, 80...
      • The Debian System by Martin F. Krafft
      • Device To Tackle Digg Addiction Disorder
      • Initscripts Package: mountnfs shell script errors
      • Running WATiR On gnu/Debian Linux
      • Open Street Map Workshops In India
      • New Blog Design
      • Debian Changing Default Cursor Theme
      • Le Grand Content
      • Iceweasel Display Problem
      • Compiling Threadless SBCL for Stumpwm on Debian Sid
      • Emacs 'Save All'
      • Book Asus Eeepc online in India
  • ►  2007 (2)
    • ►  December (2)
Powered by Blogger.

About Me

Unknown
View my complete profile