Скопируйте свою базу данных прежде, чем делать попытку чего-либо как это, но у Вас могло быть два задания крона. Первый называет сценарий в 21:00, второй называет сценарий в 6:00
Сценарии были бы на языке по Вашему выбору и соединятся через mysql с mysql базой данных (я имею в виду фактическую mysql базу данных.)
У Вас мог быть он, изменяют пользовательскую таблицу так, чтобы у пользователей, Вы не хотите мочь войти в систему, был позволенный хост, который не существует.
Для второго сценария Вы просто обратили бы изменение.
У Вас могло затем быть оба из этого использования сценариев база данных или файл, чтобы заставить список людей временно помещать в черный список.
Кабинетная реализация в Perl (если у Вас есть mysql установленный модуль),
use DBI;
$dbServer='';
$user='';
$pass='';
$ident=$ARGV[0];
my $dsn = "dbi:mysql:database=mysql;host=$dbServer;port=3306";
my $dbh = DBI->connect($dsn, "$user","$pass") or die "Can't connet to the Database: $DBI::errstr\n";
my $sth = $dbh->prepare("UPDATE user SET Host='nobody' WHERE User='johndoe'");
$sth -> execute();
Изящная альтернатива может реализовывать его как mysql плагин, если Вы используете 5.1 + Однако, я не уверен для выветривания API, позволяет это много управления.
Почему бы не оставить полное доменное имя в покое и просто использовать CNAME и всегда обращаться к нему через CNAME?
Используйте адрес локального хоста для имени хоста в файле хостов и свяжите общедоступный адрес с общедоступным IP.
127.0.1.1 mycustomhostname
1.2.3.4 git.mydomain.com
Вы можете изменить приглашение оболочки на все, что захотите, вообще не меняя имени хоста.
/ etc / profile
должно быть хорошей отправной точкой для этого.