Kudzima otomatiki kwevashandisi muISPManager5 lite pasina BILLmanager

Zvapiwa:

  1. VPS Server ine rezinesi risingaperi ispmanager lite 5
  2. 10-20 vashandisi pane sevha
  3. Google Calendar ine zviyeuchidzo zvenguva dzose kune avo vapererwa nekutambira
  4. Zvinonyadzisa kubhadhara chimwe chinhu, kunyanya nekunyoresa.

Chinangwa ndechekubvisa Google karenda uye zviyeuchidzo zvemanyorero kune mutengi izvo zvaanoda kubhadhara pakubata. Zvisunungure kubva "murege ashande zvishoma, iye achabhadhara nokukurumidza", "zvine imwe nzira isinganzwisisiki kuidzima", uye uise izvi kumuchina usina mweya.

Zvechokwadi, ini ndakatanga Googled uye ndakatsvaga, asi handina kuwana chero zvigadziriso, zvose zvakabikwa kune chokwadi chokuti iwe unoda kunyoresa kuBILLmanager, asi pfungwa Nhamba 4 inokosha zvikuru uye yakakomba kwandiri, handingawani. bvisa. Uye chisarudzo chakazove chisina kunyanya kuoma.

Saka tinoita sei?

Gadzira folda vashandisi.addon, mune /usr/local/mgr5/etc/sql/ dhairekitori, maviri asina chinhu mafaera:

  1. pay_date
  2. iwemail

Izvi zvinoraira iyo pani kuti igadzire mudhatabhesi
/usr/local/mgr5/etc/ispmgr.db
mune tafura yevashandisi pane maviri anowirirana minda uko kukosha kubva kune admin panel kuchanyorwa.

Gadzira faira rinonzi ispmgr_mod_pay_data.xml mu/usr/local/mgr5/etc/xml folda ine zviri mukati

<?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>

Izvi zvinopa mapaneru mutemo kuitira kuti minda yedu iratidzwe mufomu yekugadziridza yemushandisi.

Reboot the panel:

/usr/local/mgr5/sbin/mgrctl -m ispmgr exit

Tinowana:

Kudzima otomatiki kwevashandisi muISPManager5 lite pasina BILLmanager

Muminda isu tinonyora kusvika zuva ripi rekubata rinofanira kushanda, uye ndeipi email yemushandisi, kupi kwekutumira zviyeuchidzo zvekuti kubata kunopera munguva pfupi.

Iye zvino iwe unofanirwa kugadzira script iyo inoyeuchidza vashandisi kuti kutambira kunopera pane dzimwe nguva. Zivisa admin kuti kutambira kuri kupera. Zivisa mushandisi uye admin kuti mushandisi akaremara.

Ini ndinoda php pairi uye ndakanyora script.

<?php
$adminemail = "[email protected]"; // 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 что бы данные удалялись через некоторое время, но мне это не нужно
}

Isu tinochengeta iyi script chero kupi uye tinoidaidza chero chatinoda, uye wedzera cron basa kuti ridaidze kamwe chete pazuva. Zvese zvagadzirira.

Iye zvino hana yangu yakachena, datya ragutsikana, uye handina kuunza imwe mari yekuwedzera.

Chasara kuzadza iyo data muvashandisi iro zuva rekugamuchira rakabhadharwa, uye email yevashandisi kwekutumira zviyeuchidzo kune vashandisi.

Ndinofara kana zvichibatsira mumwe munhu.

Source: www.habr.com

Voeg