Отслеживайте изменения в каталоге и отправляйте файлы на FTP-сервер

Отслеживайте изменения в каталоге и отправляйте файлы на FTP-сервер

Я ищу конкретную команду/скрипт для задания cron, которое хочу выполнить.

По сути, у меня есть сайт WordPress, который при заполнении формы записывает файл png в папку. Обычно с именем вроде 5d5bb3f4cdcad3.49988477.png.

В основном, что я хочу сделать, это когда новый файл обнаружен в папке, ftp-отправить этот файл на ftp-сервер. Или, что предпочтительнее, отправить файл по электронной почте, сервер работает через cPanel, поэтому я на самом деле не знаю, есть ли командная функция для отправки по электронной почте.

Я привык работать с PowerShell, поэтому Linux не является моим родным языком.

решение1

В вашем случае я не думаю, что cron сам по себе будет вам полезен.

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

rsync -v --ignore-existing -e ssh /home/localuser/ [email protected]:/home

Затем я бы запланировал запуск задания cron каждую минуту/5 минут, чтобы вызывать эту функцию и копировать файлы туда, куда вам нужно.

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

решение2

Хотя я не нашел прямого решения своей проблемы, я нашел альтернативу.

Моя проблема была в том, что когда файлы были записаны, он генерировал ссылку, которая отправлялась по электронной почте, и эта ссылка не вызывалась в PHP должным образом, и вы не могли отобразить файл в своем веб-браузере. Вот почему мне нужно было отправить его через ftp или отправить файл по электронной почте.

Я нашел альтернативу. Я использовал плагин форм, и он генерировал файлы изображений подписей. Я нашел функцию плагина для создания PDF-файла со всеми подробностями, и она работает правильно.

Думаю, дело закрыто, лол.

Связанный контент