Найти самый последний созданный файл и отправку его на другой компьютер

Я всегда писал ftp-скрипт! Очень старая школа. Как заблуждаются здесь другие, FTP спроектирован для работы как пакетный скрипт, и то, что он архаичен, не означает, что он не работает. FTP и vsftp очень небезопасны, потому что ваш идентификатор / пароль отправляется открытым текстом по сети. Вот почему люди используют sftp или scp (который использует протокол SSH). Но если пароли в открытом виде по сети не беспокоят вашу среду, например это закрытая сеть, ftp - допустимый вариант, и его немного проще настроить и поддерживать, чем службы, использующие ssh.

Это пример сценария ниже:

#! / Bin / bash ftp -nv myservernameorip << EOF quote USER myuserid quote PASS mypasswd {{1 }} двоичный ls put some_files get some_files quit EOF

Просто замените myservernameorip, myuserid и mypasswd 'с реальным именем хоста / IP и информацией об учетной записи; а также изменить ls , положить и / или получить команду 'some_files' с реальными путями к файлам.

0
15.09.2018, 13:36
2 ответа

Если вы хотите сделать это самостоятельно с помощью скрипта, вам подойдет что-то вроде этого:

#!/bin/bash

lastFile="$(find -type f -iname '*.jpg' -printf '%T@ %p\n' | sort -k1 -n | tail -1 | awk '{print $2}')"

# Move it anyway you like, I use scp for demonstration
rsync -au "$lastFile"  me@192.168.200.10:/path/to/files/

# Then remove it, move it or anything else you want
rm -i "$lastFile"

Однако помните, что этот скрипт использует время модификации, потому что linux не записывает время создания.

findвзято из здесь .


  • find -type f -iname '*.jpg' -printf '%T@ %p\n'список jpgфайлов с указанием времени их модификации

  • sort -k1 -nсортирует их по времени модификации

  • tail -1берем новейшее
  • awk '{print $2}сохранить только имя файла
1
28.01.2020, 02:42

Сzsh:

scp./**/*.jpg(D.om[1]) host:

omсортирует по времени последней -модификации, которое можно рассматривать как время создания содержимого файла.

Некоторым инструментам нравится устанавливать время модификации изображений на время, когда снимок был сделан (, когда эта информация доступна в метаданных изображения, например, помещенных туда камерой ).

Вы также можете использовать ocвместо om, что будет сортировать на основе изменения времени. Это одна отметка времени, которую нельзя установить произвольно и обновлять каждый раз, когда какие-либо (данные или метаданные )изменяются в файле.

0
28.01.2020, 02:42

Теги

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