- VPS Server mit ispmanager lite 5 unbefristeter Lizenz
- 10-20 Benutzer auf dem Server
- Google Kalender mit regelmäßigen Erinnerungen, denen das Hosting ausgegangen ist
- Die Würgekröte zahlt für alles andere, besonders für ein Abonnement
Das Ziel ist es, den Google-Kalender und die manuellen Erinnerungen an den Kunden, die er für das Hosting bezahlen muss, loszuwerden. Um sich davon zu befreien, "ihn ein wenig mehr arbeiten zu lassen, wird er bald bezahlen", "da es nicht bequem ist, es auszuschalten", und es einer seelenlosen Maschine anzuvertrauen.
Natürlich habe ich zuerst danach gesucht, aber keine Lösungen gefunden. Alles lief darauf hinaus, dass Sie ein BILLmanager-Abonnement abschließen müssen, aber ich habe einen sehr wichtigen und ernsten Punkt Nr. 4, den ich nicht loswerden werde. Und die Entscheidung erwies sich als nicht so schwierig.
Also, was machen wir.
Erstellen Sie den Ordner users.addon im Verzeichnis / usr / local / mgr5 / etc / sql / mit zwei leeren Dateien:
- Zahltag
- uwemail
Dadurch erhält der Panel-Befehl zum Erstellen in der Datenbank
/usr/local/mgr5/etc/ispmgr.db
in der Benutzertabelle zwei entsprechende Felder, in die Werte aus dem Admin-Panel geschrieben werden.
Erstellen Sie eine Datei ispmgr_mod_pay_data.xml im Ordner / usr / local / mgr5 / etc / xml mit dem Inhalt
<?xml version="1.0" encoding="UTF-8"?>
<mgrdata>
<metadata name="user.edit">
<form>
<page name="main">
<field name="pay_date">
<input type="text" name="pay_date"/>
</field>
<field name="uwemail">
<input type="text" name="uwemail"/>
</field>
</page>
</form>
</metadata>
<lang name="ru">
<messages name="user.edit">
<msg name="pay_date" sqlname="pay_date"> </msg>
<msg name="uwemail" sqlname="uwemail"> email</msg>
</messages>
</lang>
<lang name="en">
<messages name="user.edit">
<msg name="pay_date" sqlname="pay_date">Paid before</msg>
<msg name="uwemail" sqlname="uwemail">User email</msg>
</messages>
</lang>
</mgrdata>
Dies gibt die Bedienfeldregel an, dass unsere Felder im Benutzerbearbeitungsformular angezeigt werden.
Laden Sie das Panel neu:
/usr/local/mgr5/sbin/mgrctl -m ispmgr exit
Wir erhalten:
In den Feldern schreiben wir auf, an welchem Tag das Hosting funktionieren soll und welche E-Mail des Benutzers, wo Erinnerungen daran gesendet werden sollen, dass das Hosting bald endet.
Jetzt müssen Sie ein Skript erstellen, das Benutzer daran erinnert, dass das Hosting mit einer bestimmten Häufigkeit endet. Benachrichtigen Sie den Administrator, dass das Hosting bald beendet wird. Benachrichtigen Sie den Benutzer und den Administrator, dass der Benutzer deaktiviert ist.
Ich bin nah dran an PHP und habe ein Skript geschrieben.
<?php
$adminemail = "admin@gmail.com"; // email
$day_send_message = [30,7,5,3,1]; //
$db = new SQLite3('/usr/local/mgr5/etc/ispmgr.db');
$results = $db->query('SELECT * FROM users WHERE active == "on" AND pay_date IS NOT NULL');
while ($user = $results->fetchArray()) {
$days_left=floor( ( strtotime($user['pay_date']) - time() ) / (60 * 60 * 24));
if(in_array($days_left, $day_send_message)){
if($user['uwemail'] != ""){
mail($user['uwemail'], 'ISPMANAGER '.$days_left.' \', " ");
}
}
if( $days_left == 3 ) {
mail($adminemail, 'ISPMANAGER USER '.$user['name'], $user['name'] . " ".$days_left." ");
}
if($days_left <= 0){
mail($adminemail, 'ISPMANAGER USER '.$user['name'].' DISABLED', $user['name'].' ');
exec("/usr/local/mgr5/sbin/mgrctl -m ispmgr user.suspend elid=".$user["name"]);
if( $user['uwemail'] != "" ) {
mail($user['uwemail'], 'ISPMANAGER ', ' ');
}
}
// IF ,
}
Wir speichern dieses Skript überall und nennen es wie Sie möchten. Fügen Sie dem Cron eine Aufgabe hinzu, um es einmal am Tag aufzurufen. Alles ist fertig.
Jetzt ist das Gewissen klar, die Kröte ist zufrieden, er hat keine zusätzlichen Kosten verursacht.
Es bleibt, die Daten der Benutzer bis zu dem Datum, an dem das Hosting bezahlt wurde, einzugeben und den Benutzern per E-Mail zu senden, wohin sie Erinnerungen an die Benutzer senden sollen.
Freut mich, wenn es jemandem hilft.