не возвращать ожидаемые файлы

stat является основным ингредиентом в этом рецепте: удалите echo , если вы удовлетворены его работой

echo rm "$(stat -c "%Y:%n" * | sort -t: -n | tail -1 | cut -d: -f2-)"

Вы не указывайте свою платформу: это инструменты Linux и GNU.

Обратите внимание, что это не работает, если имя файла содержит новую строку.

0
11.05.2019, 19:28
2 ответа
rsync -ai /path/to/source/directory/ /path/to/destination/directory

Используется rsyncдля копирования всех файлов из исходного каталога в целевой каталог. Если копирование было прервано, вы можете перезапустить его, просто повторив ту же команду.

Параметр -a(--archive)сохраняет метаданные -владельца файлов, (, разрешения, метки времени и т. д. )Это используется в последующих запусках для определения файлов, которые необходимо передать, и какие файлы не нужно передавать.

Опция -i(--itemize-changes)заставляет rsyncвыводить информацию о каждой передаче.


В комментарии вы упомянули, что можете сделать это с корзиной AWS S3.

В этом случае вы можете использовать

aws s3 sync /path/to/source/directory/ s3://bucket/path/to/destination/directory/

Предположительно, это также можно будет перезапустить, если ваша машина по какой-либо причине прервет соединение.

См. также

Примечание. :Я не пользуюсь AWS, поэтому не могу это проверить.

0
28.01.2020, 02:40

Используя GNU find, xargsи cp, это будет копировать 10 файлов за раз:

d="destination_directory..."
s="source_directory..."
find "$s" -type f -print0 | xargs -0rn 10 cp -n -t "$d"
1
28.01.2020, 02:40

Теги

Похожие вопросы