imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 04.02.2006, 05:47     # 1
Dr.Dre
Advanced Member
 
Аватар для Dr.Dre
 
Регистрация: 27.10.2002
Пол: Male
Сообщения: 420

Dr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царстве
Бэкап папки с определённым интервалом.

Есть база пользователей чата она хранится в папке bd2 нужно написать скрипт который бы ежедневно копировал бы эту папку в определённую деректорию. Так как я в программировании не особо, прошу вас подсказать с чего начать бы этот скрипт или может какие нибудь наброски.
Dr.Dre вне форума  
Старый 04.02.2006, 06:02     # 2
Псих
::VIP::
Guinness Liker
Понаехало тут
 
Аватар для Псих
 
Регистрация: 26.01.2003
Адрес: В нейроне
Пол: Male
Сообщения: 2 848

Псих СуперБогПсих СуперБог
Псих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБог
у тебя хостинг вдс?
можно написать простейший скрипт на баше и запускать его с помощью at
В юниксах не силен, но это выглядит приблизительно так:
cd /dir/directory/
cp * /home/user/bd2
в консоли пиши
at 00.00
at> /путь к скрипту/

Либо наваять скриптик на php\perl с теме же командами через функцию system() - это пхп.
Но тада ее запускать надо будет по нажатию кнопки на сайте или в ините прописывать где-то..
Да и system() может быть отключена.

+ есть еще Cron, он сейчас со всеми хостингами идет
В общем пиши!
__________________
меня не вылечат
Псих вне форума  
Старый 04.02.2006, 08:26     # 3
Dr.Dre
Advanced Member
 
Аватар для Dr.Dre
 
Регистрация: 27.10.2002
Пол: Male
Сообщения: 420

Dr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царстве
Цитата:
Псих:
у тебя хостинг вдс?
Что такое вдс?

Цитата:
Псих:
Либо наваять скриптик на php\perl с теме же командами через функцию system() - это пхп.
Но тада ее запускать надо будет по нажатию кнопки на сайте или в ините прописывать где-то..
Ага ну это то я знаю как раз, в том то и суть была как именно этот скрип правильно написать

Цитата:
+ есть еще Cron, он сейчас со всеми хостингами идет
В общем пиши!
Вот это кстати думаю самое подходящее... Написать код что-то типа того что ты привёл:
Цитата:
cd /dir/directory/
cp * /home/user/bd2
в консоли пиши
at 00.00
at> /путь к скрипту/
Потом в кроне поставить запуск ежедневно и повесить туда этот файл, но суть то в том, как правильно этот файл написать, нужно чтоб он копировал эту папку давал ей постоянно новое имя и старые папки удалял. Я суть то всю понимаю, а как это написать вот, не могу, языка не знаю.
Цитата:
Псих:
запускать его с помощью at
P.s. что такое at ?
Dr.Dre вне форума  
Старый 04.02.2006, 09:05     # 4
Ghost
::VIP::
Звезда первого сезона
Молчун-2004
 
Аватар для Ghost
 
Регистрация: 24.08.2002
Сообщения: 1 575

Ghost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех Гуру
Dr.Dre
Цитата:
Сообщение от Unix Man Pages
НАЗВАНИЕ
at - планирование выполнения команд в определенное время

СИНТАКСИС

at время [дата] [+задержка]
at -r идентификатор_задания ...
at -l [идентификатор_задания ...]

ОПИСАНИЕ
Команда at в первом из приведенных вариантов читает со стандартного ввода задание, выполнение которого планируется на указанное время. Смысл опций двух других вариантов команды at таков: -r Удалить задания, запланированные ранее с помощью at или batch(1), по идентификаторам_заданий. Идентификаторы сообщаются командами at и batch. Их можно узнать также по команде at -l. Только суперпользователь может удалять чужие задания.
-l Вывести информацию о запланированных заданиях по идентификаторам_заданий. Если идентификаторы не указаны, выдается список всех заданий, запланированных пользователем и еще не выполненных.


Если стандартный вывод и стандартный протокол не переназначены, то весь вывод запланированных команд пересылается пользователю по почте. Переменные окружения shell'а, текущий каталог, маска режима создания файлов и максимальный размер файлов [см. umask(1) и ulimit(1)] сохраняются, то есть задание выполняется в том же окружении, том же каталоге и т.д. Дескрипторы открытых файлов, прерывания и приоритет теряются.

Пользователю разрешается выполнять команду at только при условии, что его имя встречается в файле /usr/lib/ cron/at.allow. Если этого файла не существует, то проверяется файл /usr/lib/cron/at.deny, для того чтобы узнать, не запрещен ли пользователю доступ к at. Если оба файла отсутствуют, то только суперпользователю разрешено планировать выполнение задания. Если файл at.deny пуст, а at.allow отсутствует, то эти действия могут выполнять все. Файлы at.allow и at.deny содержат по одному имени в строке. Модифицировать эти файлы может только суперпользователь.

Время может быть указано 1, 2 или 4 цифрами. Если время состоит из одной или двух цифр, то оно обозначает часы; четырехзначное число обозначает часы и минуты. Время также может быть задано как два числа, разделенные двоеточием, что понимается как часы:минуты. Могут быть добавлены суффиксы am (до полудня) или pm (после полудня), в противном случае часы указываются от 0 до 23. Если необходимо указать время по Гринвичу, то можно добавить суффикс zulu. Распознаются специальные имена noon (полдень), midnight (полночь), now (сейчас), и next (следующий).

Дата может быть указана двумя способами: во-первых, в виде названия месяца, за которым следует число [и, может быть, год (через запятую)], а во-вторых, как день недели (полностью или сокращенный до 3 букв). Распознается два специальных "дня" today (сегодня) и tomorrow (завтра). Если дата не задана, то предполагается сегодняшняя дата, если указанное время больше, чем текущее, и завтрашняя, если меньше. Если заданный месяц меньше, чем текущий и год явно не задан, то предполагается, что имеется в виду следующий год.

Дополнительная задержка представляет собой просто число, за которым следует одно из следующих слов: minutes (минуты), hours (часы), days (дни), weeks (недели), months (месяцы), или years (годы). Можно указывать единицу измерения и без числа, например at now +minutes.

Далее приведены примеры корректных команд:

at 0815am Jan 16
at 8:15am Jan 16
at now +1 day
at 5 pm Friday

Команда at выдает идентификатор задания и запланированное время его выполнения в стандартный протокол.

ПРИМЕР
Чтобы задание могло снова себя запланировать, следует вызвать at из shell-файла (назовем его sfile), включив в файл текст такого вида:

echo "sh sfile" | at 1900 thursday next week

ФАЙЛЫ

/usr/lib/cron
Основной каталог команд, связанных со временем.
/usr/lib/cron/at.allow
Список пользователей, которым разрешено выполнять команды at и batch.
/usr/lib/cron/at.deny
Список пользователей, которым запрещено выполнять команды at и batch.
/usr/lib/cron/queuedefs
Информация о планировании.
/usr/spool/cron/atjobs
Область накопления вывода.
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы!
Ghost вне форума  
Старый 04.02.2006, 23:35     # 5
Naked
::VIP::
 
Аватар для Naked
 
Регистрация: 15.05.2005
Адрес: Питер
Сообщения: 1 194

Naked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked Сэнсэй
Цитата:
Dr.Dre:
Что такое вдс?
Виртуальный выделенный сервер.
Цитата:
Виртуальный выделенный сервер по возможностям аналогичен физическому серверу:
-VDS (VPS) имеет свои процессы, пользователей и предоставляет полный root-доступ
-VDS (VPS) имеет собственные IP-адреса, порты, правила фильтрования и таблицы маршрутизации
-VDS (VPS) может иметь собственные конфигурационные файлы и программные приложения
-есть возможность создавать собственные версии системных библиотек или изменять существующие
-владелец VDS (VPS) может изменять любые файлы, включая файлы в головной и других служебных директориях, а также устанавливать/настраивать/изменять любое доступное ПО (пример: на одном сервере можно запускать VDS (VPS) с разными дистрибутивами операционных систем)
-VDS (VPS) имеет минимальные гарантированные ресурсы RAM, CPU, и возможность использовать все остальные ресурсы сервера
я бы написал скрипт на perl, а потом в crontab'e его вызывал когда нужно...
crontab -l - выводит список всех задач
crontab -e - редактирование, ставишь курсор куда нужно, потом жмешь i, чтобы печатать, потом печатаешь по аналогии с верхними строчками (первое - минуты, потом часы, потом дни и т.д....), если нужно каждые 15 минут, то так: (*/15 * * * * путь к скрипту).
А сам скрипт:
Цитата:
<?php
system ("cd /dir/directory/");
system ("cp * /home/user/bd2");
?>
а в crontabe добавляешь:
0 0 * * * * * php "путь к скрипту"
У меня на сервере нужно не php писать, а что-то другое (сейчас не помню), просто набери php а потом tab нажми и он покажет, что нужно писать
Если что не так - исправьте, в скрипте мог и баг сделать
__________________
Чтобы воля стала действующим началом, тело должно быть совершенным.
Naked вне форума  
Старый 05.02.2006, 03:47     # 6
Dr.Dre
Advanced Member
 
Аватар для Dr.Dre
 
Регистрация: 27.10.2002
Пол: Male
Сообщения: 420

Dr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царстве
Ну ясно будем пробовать. У меня к сожаления сервер не выделенный, у меня виртуальный хостинг.
Dr.Dre вне форума  
Старый 05.02.2006, 04:43     # 7
Makc666
mod
Makc666-2004-3004
 
Аватар для Makc666
 
Регистрация: 26.11.2001
Адрес: MSK-RU
Пол: Male
Сообщения: 4 577

Makc666 ГипербогMakc666 ГипербогMakc666 ГипербогMakc666 Гипербог
Makc666 ГипербогMakc666 ГипербогMakc666 ГипербогMakc666 ГипербогMakc666 ГипербогMakc666 ГипербогMakc666 ГипербогMakc666 ГипербогMakc666 ГипербогMakc666 ГипербогMakc666 ГипербогMakc666 Гипербог
Цитата:
Dr.Dre:
Ну ясно будем пробовать. У меня к сожаления сервер не выделенный, у меня виртуальный хостинг.
Ты доступ к командной строке сервера имеешь?
Или к cron?
__________________
Проблемы с закачкой? Почитай тут!
[IMG] код Выкл. "А стукачков мы не любим!"
Makc666 вне форума  
Старый 05.02.2006, 06:36     # 8
Dr.Dre
Advanced Member
 
Аватар для Dr.Dre
 
Регистрация: 27.10.2002
Пол: Male
Сообщения: 420

Dr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царстве
Крон есть через Cpanel есть шелл, но не рутовый.
Dr.Dre вне форума  
Старый 05.02.2006, 18:36     # 9
Stasik
Registered User
 
Аватар для Stasik
 
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660

Stasik Известность не заставит себя ждатьStasik Известность не заставит себя ждать
возьми просто скрипт nackeda

<?php
system ("cd /dir/directory/");
system ("cp * /home/user/bd2");
?>

и в крон
/usr/bin/php /path/to/script.php | &> /dev/null

и проблем нет
__________________
Всё будет хорошо!
Stasik вне форума  
Старый 05.02.2006, 18:52     # 10
Dr.Dre
Advanced Member
 
Аватар для Dr.Dre
 
Регистрация: 27.10.2002
Пол: Male
Сообщения: 420

Dr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царстве
Ага, это я уже понял, ещё нужно несколько усовершенствовать этот скрипт, а то будет то он копировать каждый день нужную папку, а имя то у неё одно, нужно как то сделать чтоб он ещё переименовывал её с помощью функции date т.е. дату вставлял в имя и чтоб ещё удалял старые папки, например сканировал если в директории папок уже более 10 то удалить последнюю, вот как бы это реализовать...
Dr.Dre вне форума  
Старый 05.02.2006, 23:13     # 11
Naked
::VIP::
 
Аватар для Naked
 
Регистрация: 15.05.2005
Адрес: Питер
Сообщения: 1 194

Naked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked Сэнсэй
вот скрипт:
Цитата:
<?php
function bubblesort($files, $len){ //Функция сортировки директорий, на вход даем массив имен, на выходе - самое старое (или новое, сам посмотришь) название директории (имеется ввиду, что название директории в формате Год-месяц-день)
for ($i=0; $i<=$len; $i++){
for ($j=0; $j<=$len; $j++){
if ($files[$i]<$files[$j]){
$temp = $files[$i]; $files[$i] = $files[$j];$files[$j] = $temp;
}
}
}
return $files[0];
}

if ($handle=opendir('путь к директории где будут хранится бэкапы')){//открываем нашу директорию
$p = 0;
while (false !== ($file = readdir($handle))){//считываем все имена директорий (и файлов, но думаю их там не будет...)
$files[$p] = $file;
$p++;
}
if ($p>=10){
$delfile = bubblesort ($files, $p);//запускаем сортировку имен директорий
rmdir ($delfile);//удаляем самую старую (если их ($p) больше 10)
}
$newdir = date ("Y-m-d");//создаем имя директории в указанном выше формате
mkdir($newdir);//создаем эту директорию
system ("cd /dir/directory/".$newdir);//открываем эту директорию
system ("cp * /home/user/bd2");//копируем туда все
}
?>
Вроде так, если нигде не ошибся...
__________________
Чтобы воля стала действующим началом, тело должно быть совершенным.
Naked вне форума  
Старый 06.02.2006, 04:46     # 12
Dr.Dre
Advanced Member
 
Аватар для Dr.Dre
 
Регистрация: 27.10.2002
Пол: Male
Сообщения: 420

Dr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царстве
Ага ну спасибо большое! Буду пробовать, если что уже сам подредактирую что понадобится.
Dr.Dre вне форума  
Старый 13.02.2006, 10:07     # 13
Dr.Dre
Advanced Member
 
Аватар для Dr.Dre
 
Регистрация: 27.10.2002
Пол: Male
Сообщения: 420

Dr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царстве
Решилось тем что с помощью Habbitus'a создали скрипт на баше. Всё работает ок.
Dr.Dre вне форума  
Старый 26.02.2006, 08:03     # 14
helldomain
Administrator
 
Аватар для helldomain
 
Регистрация: 13.05.2002
Сообщения: 11 227

helldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиург
helldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиург
Xm, cp * eto ne ekonomno (s moei tochki zreniya). Suschestwuet takaya poleznaya wesch kak rsync. Naprimer s pomoschju rsync ejednewno proizwoditsya backup 40 serverow cherez soedinenie SSH. Obschij objem informacii na serverah kolebletsya ot neskolkih gb do 8tb.
__________________
Осколки прошлого, как снег, закрутит ураган времён,
В ушедший день для нас навек, обрушив мост,
Оставив в наших душах след, тьма уплывёт за горизонт,
И в чистом небе вспыхнет свет, свет новых звёзд.
helldomain вне форума  
Старый 26.02.2006, 12:13     # 15
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
helldomain, возможно, только если бакап локальный, на том же сервере, на том же винте и аккаунте, то cp самое то - быстро и просто. А старые бакапы (ну скажем старее 3 дней) можно просто удалять.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 26.02.2006, 23:07     # 16
InsaneX
::VIP::
 
Аватар для InsaneX
 
Регистрация: 15.12.2002
Адрес: Spain
Сообщения: 500

InsaneX ГуруInsaneX ГуруInsaneX ГуруInsaneX ГуруInsaneX ГуруInsaneX ГуруInsaneX ГуруInsaneX ГуруInsaneX ГуруInsaneX ГуруInsaneX ГуруInsaneX ГуруInsaneX ГуруInsaneX ГуруInsaneX ГуруInsaneX Гуру
+1 za rsync.
komu sh scripta budet malo, rekomenduyu http://www.rfxnetworks.com/sysbk.php

backup'it luboy soft, apache/mysql/bind zoni i mnogoe drugoe, est remote incremented backups
__________________
hm. I've lost a machine.. literally _lost_. it responds to ping, it works completely, I just can't figure out where in my apartment it is.
InsaneX вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 09:57.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.