Как я могу запретить postfix повторно отправлять сообщения со своего mailq при восстановлении из резервной копии (можно ли удалить их перед перезапуском?)

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

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

Например:

#!/bin/bash

cd /some/path/where/we/expect/to/be || exit 1

# (rest of script here)

Это привело бы к изменению каталога (или преждевременному выходу из сценария, если это было невозможно )до выполнения остальной части сценария.

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

Другой способ решить эту проблему — изменить все пути в сценарии на абсолютные пути.

0
19.11.2021, 07:02
1 ответ

Я нашел ответ, попробовал и протестировал его, и, похоже, он сработал.

По сути, внутри /var/spool/postfixесть несколько каталогов, в которых хранятся сообщения. Удалите все файлы в них, и это, по сути, очистит все очереди. С корневой файловой системой, смонтированной в_root(задолго до того, как она будет загружена в raspberry pi ), я использую для этого код

_root/var/spool/postfix/{defer,bounce,maildrop,incoming,active,deferred,hold,flush} -type f -exec rm {} \;
0
20.11.2021, 15:48

Теги

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