Как я могу скопировать файл между сервером с помощью bsdtar?

udev выводы, регистрирующие информацию к /var/log/messages, но по умолчанию это только регистрирует ошибки, и это происходит, Вы создали команду, которая не делает то, что Вы хотите, но также и убирает не ошибку. >> перенаправление обрабатывается Вашей оболочкой, и udev не выполняет команду через оболочку, таким образом, это буквально выполняет двоичный файл /bin/echo и передача его аргументы 'inserted lacie' >> /home/herman/udev_file. Если Вы изменяете udev для входа больше (редактирование /etc/udev/udev.conf и добавьте строку udev_log="info"), Вы будете видеть, что это выполняет ту команду, и вывод 'inserted lacie' >> /home/herman/udev_file

Лично, я предпочитаю делать короткие сценарии оболочки, которые делают то, что я хочу, таким образом, я могу отредактировать их без перезапуска udev, но можно также использовать /bin/sh -c для выполнения команды, таким образом, это обработает перенаправление:

SUBSYSTEM=="block", ATTRS{model}=="2AS", ACTION=="add", RUN+="/bin/sh -c '/bin/echo inserted lacie >> /home/herman/udev_file'"
3
02.05.2013, 02:44
1 ответ

Существует много вариаций в синтаксисе tar команда. Значения по умолчанию tar GNU к чтению архива на входе stdandard и к записи архива к стандартному выводу, но многого другого значения по умолчанию версий к накопителю на магнитной ленте. Передайте f флаг (с или без тире — я думаю, что версии BSD поддерживают любого) с аргументом - указать на stdin или stdout.

Если Вы хотите использовать другую (de) программу сжатия, не говорить tar сжимать, и передавать по каналу в (de) программу сжатия явно.

Для переименования файла используйте -s опция, если Ваша версия tar поддержки это (это подобно -s опция pax и к --transform опция tar GNU).

ssh root@remote 'cd /my/path && bsdtar cf - -s '/big_file\.txt$/hello.txt/' big_file.txt | pbzip2' | pbzip2 -d | tar xf -

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

scp -C -p root@remote:/my/path/hello.txt big_file.txt
2
27.01.2020, 21:28

Теги

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