Как перенаправить вывод файла в другой каталог?

У меня есть программа, которая регулярно выводит файлы в каталог, скажем, /a/b . Я совершенно не могу изменить, куда выводятся эти файлы. Но для того, чтобы использовать их, я должен сначала перенести их, скажем, /c/d , уже существующий каталог. Я устаю регулярно перемещаться по содержимому файла, так есть ли способ перенаправить все, что написано в этом каталоге, другому? Я уже пробовал ln -s но с моим ограниченным знанием команды связывания я ничего не мог добиться. Изменение любого кода программы невозможно. Спасибо за помощь.

  • Поиск символических ссылок указывает на одну и ту же цель
  • Как эта символьная связь не следует следовать?
  • Игнорировать Symlinks при извлечении Tarball
  • Переключить символическую ссылку и каталог
  • Symlink для части файла?
  • Стратегии для поддержания ссылки на файл после его перемещения или переименования?
  • Как перечислить символические ссылки с sftp?
  • Unix-эквивалент смарт-папок
  • 2 Solutions collect form web for “Как перенаправить вывод файла в другой каталог?”

    если вы не можете удалить каталог / a / b, ваша команда ln -s ничего вам не даст.

    но если вы можете найти несколько секунд, что ничего не записывается в этот каталог /a/b , вы можете сделать это:

     cd /a rm -rb # make sure you have a backup of the contents of this directory ln -s /c/db 

    теперь любое приложение, которое будет записывать в /a/b , будет направлено на запись этих файлов в /c/d , если у них есть права на запись.

    Вот:

     while :; do cp /a/b/* /c/d/; sleep 60; done 

    Он копирует все содержимое / a / b / to / c / d / каждые 60 секунд.

    У этого есть недостаток: если файлы большие (более чем несколько GB?), То копирование может занять некоторое время. Если это проблема, комментируйте, и я буду реализовывать что-то, оптимизированное для больших файлов (с хвостом -f ), которое также перенаправляет контент в реальном времени

    Linux и Unix - лучшая ОС в мире.