我有以下bash腳本來讀取日誌並檢查暴力,然後使用iptables阻止違反IP。bash腳本命令不能在cron中工作
#!/bin/bash
#blah blah run some commands to get the IP
iptables -A INPUT -s $p -j REJECT --reject-with icmp-host-prohibited
echo "BANNED $p FOR $COUNT ATTEMPTS" |wall
我做了chmod 755.當我從終端運行命令它工作正常。但是,當我使用crontab -e
作爲root設置cronjob時,它會將IP和回聲消息「BANNED ...」發送到牆上,但是沒有任何內容添加到iptables列表中。
PS。我嘗試了#!/bin/bash
和#!/bin/sh
,但沒有運氣。
爲什麼你需要添加iptables規則在cron,如果你想添加的iptables rulesand你想他們是持久的,你可以將它們添加到/ etc/sysconfig/iptables或rc.local –
您需要正確設置您的PATH才能找到'iptables'。 –
這將需要重新啓動iptables服務是嗎? –