Я написал сценарий оболочки IP-ротации. Скрипт приведен ниже.
#!/бин/ш
#Получить счетчик из сохраненного значения
число прочтений < counter.txt
если [[ $count -eq 0 ]]
тогда
предыдущая=5
фи
если [[ $count -gt 0 ]]
тогда
предыдущая=$(($count-1))
фи
#Сначала мы хотим сохранить все доступные IP-адреса
IP_АДРЕСЫ=(1.1.1.1 1.1.1.1 1.1.1.1 1.1.1.1 1.1.1.1 1.1.1.1)
#Сохранить все имена хостов
HOST_NAMES=(server1.example.com server2.example.com server3.example.com server4.example.com server5.example.com server6.example.com)
#эта команда будет
#echo ${IP_АДРЕСЫ[$count]}
# теперь измените исходный IP-адрес системы по умолчанию
IP-маршрут заменить по умолчанию через ${IP_ADDRESSES[$prev]} dev venet0 src ${IP_ADDRESSES[$count]}
#Теперь измените имя хоста
hostnamectl set-hostname ${HOST_NAMES[$count]}
# Теперь измените имя хоста в постфиксе
postconf -ev myhostname=${HOST_NAMES[$count]}
количество=$количество+1
если [[ $count -gt 5 ]]
тогда
количество = 0
фи
эхо $count > counter.txt
Когда я запускаю скрипт из командной строки, он отлично работает, и я могу отправлять электронную почту с новой пары IP-адреса и имени хоста. Теперь я хочу выполнить этот скрипт до или после отправки каждого исходящего письма с нашего сервера POSTFIX. Но я не знаю, как запустить этот скрипт в POSTFIX.