Linux
從 Linux 伺服器自動刪除暫停帳戶的腳本
我有帶有 centOS 的 Linux 託管伺服器,上面安裝了 WHM。為了減少磁碟空間的成本和誤用,我正在創建一個 shell 腳本,它會自動刪除暫停超過 30 天且仍在使用伺服器空間的暫停帳戶。
腳本:
root@ping [~]# cat autoterminate.sh #!/bin/bash find /var/cpanel/suspended/ -mtime +30 > autoterminate.txt cut -d '/' -f5 /root/autoterminate.txt echo "Users to remove" cut -d '/' -f5 /root/autoterminate.txt > auto.txt for i in `cat /root/auto.txt`; do /scripts/removeacct -y $i; done
當我執行這個腳本時,它要求我這邊是或否響應。
root@ping [~]# ./autoterminate.sh swicsor #this is the user which i found suspended more than 30 days Users to remove Unknown option: y Are you sure you want to remove the account "swicsor", and DNS zone files for the user? [y/N]?
基本上我希望這個腳本在 cronjob 中執行,但我無法做到,因為它要求手動響應“是”或“否”。如果有人可以幫助我,我會很棒。
伊恩使用正確的論點要正確得多 。 這也許是你應該做的,雖然我沒有執行 CPanel,所以無法測試。
#!/bin/bash for suspendedUser in $(find /var/cpanel/suspended/ -mtime +30 | cut -d '/' -f5) ; do /scripts/removeacct $suspendedUser --force done
原始輕率的回應:
for i in `cat /root/auto.txt`; do yes | /scripts/removeacct $i; done