Как убедиться, что записи на USB-диск в сети сбрасываются?

Использование csvjoinиз Python -на основе csvkit

$ csvjoin -Ic id file\ 1 file\ 2
id,ICD,CT
16214497,008.8,1
27154870,780.79,1

Флаг -Iотключает вывод типа, поэтому поля, подобные 008.8, обрабатываются как строки, а не как числовые (, что может вызвать повторное -форматирование ). Этот метод прозрачно обрабатывает окончания строк в стиле DOS/Windows.


Альтернативное быстрое соединение с использованием awk:

awk -F, 'NR==FNR {a[$1]; next} $1 in a' file\ 2 file\ 1

Если в вашем файле есть окончания строк DOS/Windows (CRLF вместо обычного LF ), вы можете попробовать

awk -vRS='\r\n' -F, 'NR==FNR {a[$1]; next} $1 in a' file\ 2 file\ 1

или сначала конвертируйте файл, используя dos2unix, tr, sedи т. д.

1
25.08.2020, 20:45
1 ответ
  1. Вы можете добавить задание cron для регулярного syncзапуска, например. каждую минуту или даже каждые 10 секунд.

  2. Вы можете добавить эти переменные в ваш rc.local или sysctl:

vm.dirty_background_bytes = 1048576
vm.dirty_bytes = 4194304

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

  1. Вы можете исправить исходные коды любого сетевого демона, который вы используете (, например. smbd/vsftpd/etc )для вызова fflush ()после закрытия файла.

К сожалению, я не знаю готовых решений.

0
18.03.2021, 23:10

Теги

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