sftp put :как предотвратить случайную перезапись файлов

smartctl /dev/sdX | grep -w  12 | awk "{print $8}"

/dev/sd X указывает, с какого устройства вы хотите получить данные SMART.

Мы используем 12 , чтобы grep выбрал строку Power _Cycle _Control в выводе smartctl .

затем $8 чтобы awk отфильтровал все, кроме 8-го поля.

3
19.05.2020, 00:31
1 ответ

Нет, команда putв sftpне может предоставить вам интерактивную подсказку для подтверждения перезаписи существующего файла. Предполагается, что вы знаете, что делаете.

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

Например,

uploaddir=$( date +upload_%F )  # i.e. something like "upload_2020-05-18"

sftp remote <<END_SFTP
cd some/remote/path
mkdir $uploaddir
cd $uploaddir
put myfile
END_SFTP

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

2
28.04.2021, 23:14

Теги

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