CentOS :Как просмотреть чистые -журналы ответов ftpd-сервера?

У вас должен быть установлен "noclobber", проверьте следующий пример:

$ echo 1 > 1  # create file
$ cat 1
1
$ echo 2 > 1  # overwrite file
$ cat 1
2
$ set -o noclobber
$ echo 3 > 1  # file is now protected from accidental overwrite
bash: 1: cannot overwrite existing file
$ cat 1
2
$ echo 3 >| 1  # temporary allow overwrite
$ cat 1
3
$ echo 4 > 1
bash: 1: cannot overwrite existing file
$ cat 1
3
$ set +o noclobber
$ echo 4 > 1
$ cat 1
4

"noclobber" предназначен только для перезаписи, но вы все равно можете добавить его:

$ echo 4 > 1
bash: 1: cannot overwrite existing file
$ echo 4 >> 1

Чтобы проверить, установлен ли у вас этот флаг, вы можете ввести echo $-и посмотреть, установлен ли у вас флаг C(илиset -o |grep clobber).

В :Как избежать записи пустого файла в случае сбоя базовой команды?

Есть требования? Вы можете просто сохранить вывод в переменной, а затем проверить, пуста ли она. Проверьте следующий пример (обратите внимание, что способ проверки переменной требует точной настройки в соответствии с вашими потребностями, в примере я не цитировал его и не использовал что-либо вроде ${cmd_output+x}, который проверяет, установлена ​​ли переменная, чтобы избежать записи файла содержащие только пробелы.

$ cmd_output=$(echo)
$ test $cmd_output && echo yes || echo no
no
$ cmd_output=$(echo -e '\n\n\n')
$ test $cmd_output && echo yes || echo no
no
$ cmd_output=$(echo -e ' ')
$ test $cmd_output && echo yes || echo no
no
$ cmd_output=$(echo -e 'something')
$ test $cmd_output && echo yes || echo no
yes

$ cmd_output=$(myAPICommand.exe parameters)
$ test $cmd_output && echo "$cmd_output" > myFile.txt

Пример без использования одной переменной, содержащей весь вывод:

log() { while read data; do echo "$data" >> myFile.txt; done; }
myAPICommand.exe parameters |log
0
13.12.2020, 17:53
1 ответ

поместите файл /etc/pure-ftpd/conf/AltLog, содержащий толькоstats:/var/log/pureftpd.log-это должно решить отсутствующий -журнал -проблему (, когда pure-ftpd.confнаходится внутри/etc/pure-ftpd/).

0
18.03.2021, 22:43

Теги

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