lftp Mirror Command Exclude Matching Files [ Regex ]

I want to mirror a directory using ftp and want to exclude certain subdirectories (such as logs) and file ending with *.cvs. How do I exclude files while mirroring using lftp command under Linux or Unix like operating systems?

Tutorial details
Difficulty Easy (rss)
Root privileges No
Requirements lftp ftp client
Time N/A
lftp ftp client has many features that makes it a better choice for this kind of works The mirror command can be used and specified source directory to local target directory. If target directory ends with a slash, the source base name is appended to target directory name. You can exclude files and sub-directories. You can also use glob character such as *.

lftp command exclude syntax

The syntax is as follows:

mirror --exclude RX 
mirror --exclude-glob GP

In this example exclude logs directory, enter:

mirror --exclude logs/ --exclude

You can use --exclude multiple times:

mirror --exclude logs/ --exclude reports/ --exclude-glob *.bak --exclude-glob *~$

The following will exclude all *.cvs files:

mirror --exclude-glob *.cvs

Putting it all together

Create a file called mirror.http.lftp as follows:

set ftp:list-options -a
set cmd:fail-exit true
open ftp.cyberciti.biz.biz:/var/www/
lcd /nas06/backup/cyberciti.biz/
mirror --delete --exclude logs/ --exclude tmp/ --exclude-glob *~$

Create or edit an authentication file called ~/.netrc – this file contains configuration and autologin information for the File Transfer Protocol client ftp and lftp:

machine ftp.cyberciti.biz
login MyUserNameHer
password myPassWordHere

Save and close the file. Run the job as follows:
lftp -f mirror.http.lftp
lftp -f mirror.http.lftp > ~/mirror.http.lftp.log

🐧 Please support my work on Patreon or with a donation.
🐧 Get the latest tutorials on Linux, Open Source & DevOps via:
CategoryList of Unix and Linux commands
File Managementcat
FirewallAlpine Awall CentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network Utilitiesdig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNAlpine CentOS 8 Debian 10 Firewall Ubuntu 20.04
0 comments… add one

Leave a Reply

Your email address will not be published. Required fields are marked *

Use HTML <pre>...</pre> for code samples. Problem posting comment? Email me @ webmaster@cyberciti.biz