Проанализируйте выполнение команды rsync с FreeNAS на Карту памяти

[12178]eval "$1" [114237] выполняет команду в текущем сценарии. Она может устанавливать и использовать переменные оболочки из текущего сценария, устанавливать переменные окружения для текущего сценария, устанавливать и использовать функции из текущего сценария, устанавливать текущий каталог, маску, ограничения и другие атрибуты для текущего сценария и так далее. [114238]bash -c "$1"[114239] выполняет команду в совершенно отдельном скрипте, который наследует переменные окружения, файловые дескрипторы и другое процессное окружение (но не передает обратно никаких изменений), но не наследует внутренние настройки оболочки (переменные оболочки, функции, опции, ловушки и т.д.). [12179] Есть другой способ, [114240](eval "$1")[114241], который выполняет команду в подоболочке: он наследует все от вызывающего скрипта, но не передает никаких изменений обратно. [12180]Например, предполагая, что переменная [114242]dir[114243] не экспортируется и [114244]$1[114245] является [114246]cd "$foo"; ls[114247], то:[12181]cd /starting/directory; foo=/somewhere/else; eval "$1"; pwd[114470] перечисляет содержимое [114471]/somewhere/else[114472] и печатает [114473]/somewhere/else[114474]. [12182]cd /starting/directory; foo=/somewhere/else; (eval "$1"); pwd[114476] перечисляет содержимое [114477]/somewhere/else[114478] и печатает [114479]/starting/else[114480]. [12183]cd /starting/directory; foo=/somewhere/else; bash -c "$1"; pwd[114482] перечисляет содержимое [114483]/starting/directory[114484] (поскольку [114485]cd ""[114486] не изменяет текущий каталог) и печатает [114487]/starting/directory[114488]. [12184]
2
24.02.2014, 01:18
1 ответ
[112184]Я всегда добавляю [112677]-v[112678] переключатели в [112679]rsync[112680] при попытке отладки, что происходит.

PATH=/bin:/usr/bin

Если вам нужно больше глаголов, добавьте больше переключателей [112681]-v[112682]:

(define-key global-map [home] 'beginning-of-line)

Так как вы уже добавили [112683]-v[112684] и это не дает вам никаких дополнительных знаний, маловероятно, что больше [112685]-v[112686] сделает что-то еще.

./my_compile_command; if [ $? -eq 0 ]; then mpg123 "VanHalen_1984_02_Jump.mp3"; else mpg123 "SpiceGirls_Spice_1_Wannabe.mp3"; fi

Дальнейшая отладка

Идея #1

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

Я бы продолжил запускать [112687]rsync[112688] на частях этого каталога до тех пор, пока вы не локализуете проблему в каталоге или, возможно, в одном файле. Я бы подозрительно отнесся к каталогам со ссылками или, возможно, файлами устройств, или FIFO.

Idea #2

[
    { "keys": ["shift+backspace"], "command": "right_delete" },
    { "keys": ["ctrl+backspace"], "command": "right_delete" },

    { "keys": ["ctrl+j"], "command": "move", "args": {"by": "characters", "forward": false} },
    { "keys": ["ctrl+l"], "command": "move", "args": {"by": "characters", "forward": true} },
    { "keys": ["ctrl+i"], "command": "move", "args": {"by": "lines", "forward": false} },
    { "keys": ["ctrl+k"], "command": "move", "args": {"by": "lines", "forward": true} },
    { "keys": ["ctrl+shift+j"], "command": "move", "args": {"by": "characters", "forward": false, "extend": true} },
    { "keys": ["ctrl+shift+l"], "command": "move", "args": {"by": "characters", "forward": true, "extend": true} },
    { "keys": ["ctrl+shift+i"], "command": "move", "args": {"by": "lines", "forward": false, "extend": true} },
    { "keys": ["ctrl+shift+k"], "command": "move", "args": {"by": "lines", "forward": true, "extend": true} },

    { "keys": ["ctrl+alt+j"], "command": "move", "args": {"by": "words", "forward": false} },
    { "keys": ["ctrl+alt+l"], "command": "move", "args": {"by": "word_ends", "forward": true} },
    { "keys": ["ctrl+shift+alt+j"], "command": "move", "args": {"by": "words", "forward": false, "extend": true} },
    { "keys": ["ctrl+shift+alt+l"], "command": "move", "args": {"by": "word_ends", "forward": true, "extend": true} },

    { "keys": ["ctrl+,"], "command": "move_to", "args": {"to": "bol", "extend": false} },
    { "keys": ["ctrl+."], "command": "move_to", "args": {"to": "eol", "extend": false} },
    { "keys": ["ctrl+shift+,"], "command": "move_to", "args": {"to": "bol", "extend": true} },
    { "keys": ["ctrl+shift+."], "command": "move_to", "args": {"to": "eol", "extend": true} }
]
Я бы также пропустил [112689]-t[112690] переключатель в этом каталоге в качестве теста, чтобы посмотреть, не является ли проблема проблемой время модификации.

Идея #3

Также я обычно выбираю переключатели [112691]-avz[112692], если у вас нет конкретной причины для ваших переключателей, вы, возможно, захотите перейти к этой группировке, по крайней мере, в этом каталоге, по мере, по мере дальнейшей отладки проблемы.Идея #4 Я не уверен, насколько "возможности" файловой системы переносятся из MSDOS-стилей файловых систем в EXT3/4. Какова целевая файловая система на USB-накопителе? Это также файловая система на базе MS? Я нашел эту ошибку, касающуюся [112693]msdosfs[112694] и плохой производительности, под заголовком: [112695] очень плохая производительность USB/msdos[112696]. ПРИМЕЧАНИЕ:[112698] Помните, что FreeNAS использует FreeBSD под капотом, поэтому вы ищете проблемы, которые могли бы включать, [112699]msdosfs[112700], [112701]rsync[112702], и FreeBSD для начала.Идея #5 Мой опыт работы с передачами через USB заключается в том, что они обычно стоят в очереди, а затем могут выравниваться. Вы сталкиваетесь с низкой производительностью из-за внешнего жесткого диска? Я бы попробовал провести тест [112703]rsync[112704] для передачи данных в другое место в сетевом хранилище, если это возможно, чтобы, по крайней мере, устранить проблему с внешним USB-накопителем.[112215].

2
27.01.2020, 22:14

Теги

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