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
DifficultyEasy (rss)
Root privilegesNo
Requirementslftp ftp client
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

🐧 Get the latest tutorials on SysAdmin, Linux/Unix, Open Source/DevOps topics:
CategoryList of Unix and Linux commands
File Managementcat
FirewallCentOS 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 VPNCentOS 8 Debian 10 Firewall Ubuntu 20.04

0 comments… add one

Leave a Reply

Your email address will not be published.

Use HTML <pre>...</pre>, <code>...</code> and <kbd>...</kbd> for code samples.