может быть я и некропостер, но зарегистрировался, чтобы ответить на этот животрепещущий вопрос
кстати интересная идея! и будет актуальна думаю.
поставить вместо сервера обычный комп виндовс ХП, расшарить на нем интернет, и добавить функцию резервирования в обед к примеру всез баз 1С бухгалтерии. получаеться дешевый сервер
а эта программа вобще бесплатна, только нужно пхп сервер поставить.
я вот установил EasyPHP 2.0b1 - кто знает она точно 100% распространяеться бесплатно?
идея вобще была сделать форму для отдела кадров, я ей сечас занимаюсь - типа небольшая база, на каждой фамилии при клике правой кнопкой мышке можно сгенерировать приказ о принятии или увольнении. в процессе реализации столкнулся с милионом проблем, а особенно с учетом отсутсвия знания языка пхп и образования, но увидел что он велик и могуч, ну с русским не сравниться канеш
вот тоже подумал о варианте использования такой фишки с копированием базы 1С.
суть вобщем создать пхп-страничку, в ней идет отсчет времени, она все время открыта в экплорере. во время наступления обеда запускаеться копирование из локалки папок базы средствами пхп на жесткий диск этого компьютера. и к примеру 2-3 недельной давности базы наоборот удаляються. насчет скрипта вычесления "устарелости" копии надо подумать, но от идей не отказался бы.
или лучше запланировать допустим 10 копий - на полтары недели. при создании новой 11 копии, старая копия номер 1 затираеться. на следущий день при создании 12 - затираеться 2 и так далее.
ну теперь вернемся к проблеме копирования папки. команда копи насколько я понял копирует только файлы.
для копирования папки придеться выкручиваться. в разделе описание команды копи кстати и был выдран работающий вариант такой "придуманой" функции, кто-то в коментах его отписал. очень короткая и главное работает! скопировалась у меня проверочная папка, в папку с датой.
Код:
<?php
function full_copy( $source, $target )
{
if ( is_dir( $source ) )
{
@mkdir( $target );
$d = dir( $source );
while ( FALSE !== ( $entry = $d->read() ) )
{
if ( $entry == '.' || $entry == '..' )
{
continue;
}
$Entry = $source . '/' . $entry;
if ( is_dir( $Entry ) )
{
full_copy( $Entry, $target . '/' . $entry );
continue;
}
copy( $Entry, $target . '/' . $entry );
}
$d->close();
}else
{
copy( $source, $target );
}
}
$nnn = "back1c/".date("Y_m_d");
mkdir($nnn, 0777);
full_copy( 'test 1', $nnn );
?>
теперь вопрос в другом: будет ли она копировать из локальной папки?
и еще вопрос - к примеру - в момент делания копии, главбух торчит в 1ске и чото там допустим работает. некоторые файлы в базе заняты - так как ранее думал вариант с командной строкой винрара, засунутую должным образом в планировщик заданий, но винрар ругался, что скопировать все файлы не может.
потом был вариант с xcopy (в виндовсе такая есть типа досовской команды) - она вроди бы копирует все, но тут и собственно вопрос - некоторые файлы базы 1с в момент работы этой самой 1с получаються занятые, то есть находяться как бы вроди в процессе изменения. не получиться ли так, что когда наш пхп вариант наконец скопирует (и скопирует ли, если они заняты?) эту базу к себе на диск, то база эта скопированая будет повреждена и 1ска не сможет эту архивную копию открыть?
или предположим сам процесс копирования довольно долгий, у нас помойму 100-150 мегабайт, и вот к примеру процесс копирования уже пошел, но тут бухгалтер тыкает на "провести" какой либо документ - помойму копия в данном случае будет 100% убитой.