Linux

從 Linux 伺服器自動刪除暫停帳戶的腳本

  • March 30, 2016

我有帶有 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

原始輕率的回應:

yes(1)

for i in `cat /root/auto.txt`; do yes | /scripts/removeacct $i; done

引用自:https://serverfault.com/questions/766930