Linux: find files between two date and copy into another directory

Find all the files between “2019-02-15 00:00:00” and “2019-02-18 00:00:00”.

1)Copy them into directory “/tmp/tracebackup/”.

$ find . -type f -name “*.trc” -newermt “2019-02-15 00:00:00” ! -newermt “2019-02-18 00:00:00″| xargs cp -t /tmp/tracebackup/

-t, –target-directory=DIRECTORY ; copy all SOURCE arguments into DIRECTORY

2)Tar and zip the files.

$find . -type f -name “*.trc” -newermt “2019-02-15 00:00:00” ! -newermt “2019-02-18 00:00:00″| xargs tar -czvf crs_traces.tar.gz

2 thoughts on “Linux: find files between two date and copy into another directory”

  1. I am attempting to copy all files from Jan 2010 that are in a directory called DATES into a pre-made directory that is called DATES_JAN. I can get a list of all of the pieces of data by doing:
    find ./ -type f -ls | grep ‘2010-01’
    This is working absolutely fine. However, I am struggling to copy it into the DATES_JAN directory. I tried typing the above followed by | xargs cp -t /DATES_JAN but I get an error. Any ideas?

    Like

    1. please notice “find ./ type f” lists all local file names, while “find ./ type f ls” shows a long list, which cannot be copied as file names, because it has many columns.

      Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.