Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Бэкапим важный файлик v0.1

Статус пользователя ThisIsSparta
сообщение 4.4.2015, 21:52
Сообщение #1
Стаж: 11 лет

Сообщений: 566
Благодарностей: 307
Полезность: 600

Бывает так что важная инфа на сервере пишется в файлик, и как многие может сталкивались, бывает так, что вся инфа которая собиралась месяцами, годами исчезает, или еще что с ней происходит.
Так вот, если у вас имеется веб хостинг с поддержкой cron, то можете воспользоваться

осторожно быдлокод

Код:
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<?php

// установка соединения
$conn_id = ftp_connect("111.111.111.111"/*IP*/,"21"/*Порт*/,"100"/*таймаут*/);
$ftp_user_name = "ololosha";//логин ftp
$ftp_user_pass = "ololoev";//пароль ftp
$new_dir = "addons/amxmodx/data"; //откуда копировать файл(путь из корня ftp)
$name = date("m_d_y_H_m"); //дата m-месяц, d-день, y-год, H-часы, m-минуты, s- секунды
$remote_file = "vault.ini";//файл который будем копировать
$local_file = "backup/bank_$name.ini";//название папки и файла в которые будем записывать бэкап, $name это дата
$handle = fopen($local_file, 'w');
$dir = "backup";//папка где хранятся бэкапы
if ($d = opendir($dir)) {
while (($file = readdir($d)) !== false) { //считываем дерикторию
if (substr($file,0,5)=="bank_"){ //смотрим по маске файлы. за ненадобностью можно и убрать
// проверяем давность создания файла
$ftime = filemtime($dir.'/'.$file); // смотрим время создания

if (time()-$ftime > 2592000){ //3600 - 1 час. Время в сек. 2592000 - 30 дней
echo "<p>Файл $dir/$file был удален!</p>";
unlink($dir.'/'.$file); //если больше требуемого времени удаляем
}
}
}
closedir($d);
}
// вход с именем пользователя и паролем
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// проверка соединения
if ((!$conn_id) || (!$login_result)) {
echo "<p>Не удалось установить соединение с FTP сервером!</p>";
echo "<p>Попытка подключения к серверу <b>$ftp_server</b> под именем <b>$ftp_user_name</b>!</p>";
exit;
} else {
echo "<p>Установлено соединение с FTP сервером <b>$ftp_server</b> под именем <b>$ftp_user_name</b></p>";
}

if (ftp_chdir($conn_id, $new_dir)) {
echo "<p>Успешно вошли в: " . ftp_pwd($conn_id) . "</p>";
} else {
echo "<p>Не удалось сменить директорию\</p>";
}

if (ftp_fget($conn_id, $handle, $remote_file, FTP_ASCII, 0)) {
echo "<p>Содержимое <b>$remote_file</b> записано в <b>$local_file</b> на удаленном сервере успешно</p>";
} else {
echo "<p>При скачке <b>$remote_file</b> в <b>$local_file</b> произошла проблема</p>";
}

// закрытие соединения
ftp_close($conn_id);
fclose($handle);

?>
</body>
</html>




Пример работы в браузере





Структура файлов на веб-хостинге






Если что не понятно, спрашивайте

P.S. За идею спасибо Alexander
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 5 раз
   Цитировать сообщение
Статус пользователя Alexander
сообщение 5.4.2015, 9:22
Сообщение #2


Стаж: 12 лет

Сообщений: 351
Благодарностей: 237
Полезность: 704

CSserv.Ru
Самостоятельно сделали чтоль? =)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 5.4.2015, 9:42
Сообщение #3
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

копировать файлы с другим именем - просто гениально.
представь что бы сказали библиотекари, когда бы ты запустил руки в их книгохранилище.

Отредактировал: csnet, - 5.4.2015, 9:42


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ThisIsSparta
сообщение 5.4.2015, 11:19
Сообщение #4
Стаж: 11 лет

Сообщений: 566
Благодарностей: 307
Полезность: 600

Цитата(Alexander @ 5.4.2015, 10:22) *
Самостоятельно сделали чтоль? =)


а что не видно?)

Цитата(csnet @ 5.4.2015, 10:42) *
копировать файлы с другим именем - просто гениально.
представь что бы сказали библиотекари, когда бы ты запустил руки в их книгохранилище.


по другому не придумал как)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя kasIIep
сообщение 5.4.2015, 12:54
Сообщение #5
Стаж: 17 лет

Сообщений: 333
Благодарностей: 88
Полезность: 209

Меценат Меценат

cron


wget ftp://login:pass@ip:port/ путь до файла/file.txt

Отредактировал: kasIIep, - 5.4.2015, 12:55
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: