7

I usually edit my website locally and push it with this command:

lftp -u user,password host -e "mirror -c -e -R -x ^\.git/$ my /my; exit"

But now, my website dynamically appends data to the /my/data file.

I don't have this /my/data file locally.

QUESTION: How to push without deleting /my/data and its content?

Notes:

  • I could download /my/data and then run the command above, but data added in the few seconds before the download and the upload would get lost.
  • For the other files/folders, local deletion should be mirrored by a remote deletion.
  • I don't want to use --only-newer-like operations because clocks might not be adjusted.
Nicolas Raoul
  • 7,945
  • 14
  • 43
  • 55

2 Answers2

4

Answer given by LFTP's maintainer:

Just exclude the folder using -x ^data/ option.

If you need to upload some local files into that folder, use two mirrors, one without -e option just for my/data folder.

Nicolas Raoul
  • 7,945
  • 14
  • 43
  • 55
0

"Just exclude the folder using -x ^data/ option."

Can i ask dumb question about the '^' caracter? what did it does? I just figure out that without it mirror still ignore the named folder in both sides (host and remote) I 1st thought that it means "ignore data folder in the remote side (only)"

  • If you have a new question, please ask it by clicking the [Ask Question](https://unix.stackexchange.com/questions/ask) button. Include a link to this question if it helps provide context. - [From Review](/review/late-answers/444848) – Stephen Kitt May 12 '23 at 07:50
  • Probably https://en.wikipedia.org/wiki/Regular_expression#POSIX_basic_and_extended – Nicolas Raoul May 15 '23 at 04:46