Убедитесь, что вы используете, dir/а не dir/*в аргументах rsync.
grawity
Проблема возникает, когда я rsync с жесткого диска на флеш-карту памяти:rsync: mkstemp "/media/verd/rence/.Using an expressive work: fact or fiction.pdf.RbjlKK" failed: Invalid argument (22) rsync: mkstemp "/media/verd/rence/.What's in a concept: structural foundations for semantic networks.pdf.tLXoZz" failed: Invalid argument (22)
道 嘉 道
Для будущих читателей, пожалуйста, обратите внимание, что это зависит от файловой системы: типичные для Windows жесткие диски с NTFS не могут содержать файлы, :в первую очередь
phil294
Ответы:
22
Двоеточия являются специальными только в первом компоненте каталога аргумента командной строки. Так что, если у вас есть то, что выглядит как относительный путь, сделайте предварительный перенос ./.
$ mkdir sou:rce
$ rsync -a sou:rce/ de:st/
The source and destination cannot both be remote.
$ rsync -av ./sou:rce/ ./de:st/
sending incremental file list
created directory ./de:st
./
В скрипте:
case $source in
/*) :;;
*) source=./$source;;
esac
case $dest in
/*) :;;
*) dest=./$dest;;
esac
rsync "$source" "$dest"
Спасибо, Гиль. Проблема возникает, когда я rsync с жесткого диска на флеш-карту памяти:rsync: mkstemp "/media/verd/rence/.Using an expressive work: fact or fiction.pdf.RbjlKK" failed: Invalid argument (22) rsync: mkstemp "/media/verd/rence/.What's in a concept: structural foundations for semantic networks.pdf.tLXoZz" failed: Invalid argument (22)
道 嘉 道
3
@Kejia Ah: А, хорошо, ваша проблема - переименовать-и-rsync, а не передавать двоеточия в rsync. Этот вопрос ранее задавался на сайте Ubuntu: как заменить двоеточия при rsync на USB-ключе? К сожалению, никто не дал удовлетворительного ответа.
dir/
а неdir/*
в аргументах rsync.rsync: mkstemp "/media/verd/rence/.Using an expressive work: fact or fiction.pdf.RbjlKK" failed: Invalid argument (22) rsync: mkstemp "/media/verd/rence/.What's in a concept: structural foundations for semantic networks.pdf.tLXoZz" failed: Invalid argument (22)
:
в первую очередьОтветы:
Двоеточия являются специальными только в первом компоненте каталога аргумента командной строки. Так что, если у вас есть то, что выглядит как относительный путь, сделайте предварительный перенос
./
.В скрипте:
источник
rsync: mkstemp "/media/verd/rence/.Using an expressive work: fact or fiction.pdf.RbjlKK" failed: Invalid argument (22) rsync: mkstemp "/media/verd/rence/.What's in a concept: structural foundations for semantic networks.pdf.tLXoZz" failed: Invalid argument (22)