테스트 사이트 - 개발 중인 베타 버전입니다

G4 자동 업그레이드

이로인해 발생되는 책음은 이 코드를 이용해서 사용하시는 분들의 책임이므로 유념하시기 바랍니다.


대단한것은 아니지만, 파일을 일일히 카피하기 귀찮으신 분들을(저를 포함) 위해서
웹에서 간단히 업그레이드 할 수 있도록 하였습니다.

아래의 스크립트는 4.00.20에서 4.01.00으로 업그레이드 하기 위한 코드이고
이를 약간만 고치면 나머지 버전으로의 업그레이드 쉽게할 수 있습니다.

사실, 사용자한테 입력받는 몇몇부분을 텍스트 입력으로 받아서 하고 싶으나
귀찮아서 직접 수정해서 하도록 하였습니다.
다른 분들의 개선을 내심기대하고 있습니다. ^^

아래 코드중

<?
$HOME = "/home/cbycby";
$SRC_PATH = "$HOME/gnuboard4/";
$DEST_PATH = "$HOME/";
$VERSION = "4.01.00";

$update_files =
"
HISTORY
중략...
"

$HOME은 사용자 계정을 입력하시고
$SRC_PATH는 새로운 버전의 그누보드4가 있는 디렉토리의 위치이고
$DEST_PATH는 현재 사용하고있는 구 버전의 그누보드4 디렉토리의 위치입니다.
$VERSION은 현재 무엇을 업데이트 하고 있는지 헷갈리지 않기 위해서 넣은것이므로 적당히
수정하시고
가장 중요한
$update_files는
따옴표(") 사이에 각각의 파일들이 들어가 있는데,
이들 사이에 업그레이드 할 파일명을 붙여 넣어주시면 됩니다.
업그레이드 할 파일은, 여기 게시판 자료실에 리스트로 나와 있으므로 주욱 긁어 넣으시면 되구요.

참고로, 이로인해 발생되는 책음은 이 코드를 이용해서 사용하시는 분들의 책임이므로 유념하시기 바랍니다.

/*
* Author : korone (korone@gmail.com, http://www.korone.net)
* Date : 2005-07-20
* Description :
* Upgrade script for gnuboard4
*/

$HOME = "/home/cbycby";
$SRC_PATH = "$HOME/gnuboard4/";
$DEST_PATH = "$HOME/";
$VERSION = "4.01.00";

$update_files =
"
HISTORY
adm/_common.php
adm/config_form.php
adm/config_form_update.php
adm/mail_preview.php
adm/mail_select_update.php
adm/mail_test.phpadm/member_form.php
adm/member_list.php
adm/upgrade.php
bbs/link.php
bbs/email_certify.php
bbs/email_stop.php
bbs/login_check.php
bbs/register_form.php
bbs/register_form_update.php
bbs/register_form_update_mail1.php
bbs/register_form_update_mail2.php
bbs/register_form_update_mail3.php
bbs/poll_result.php
bbs/poll_update.php
bbs/search.php
bbs/visit_insert.inc.php
lib/common.lib.php
lib/poll.lib.php
skin/member/basic/register_form.skin.php
skin/member/basic/register_result.skin.php
skin/poll/basic/poll_result.skin.phphead.sub.php
";

echo "<font color=red>Try to Upgrade($VERSION)</font><br>";

$update_file = explode("\n", $update_files);
for ($i=0; $i<count($update_file); $i++)
{
if ($update_file[$i] == "") continue;
$srcPath = $SRC_PATH.$update_file[$i];
$destPath = $DEST_PATH.$update_file[$i];
echo "STEP:$i copying $srcPath to $destPath<br>";
$cmd = "cp $srcPath $destPath";
system($cmd);
}

echo "<font color=red>Upgrade($VERSION) Completed...</font><br>";

?>


다시한번!!!! 이로인해 발생되는 책음은 이 코드를 이용해서 사용하시는 분들의 책임이므로 유념하시기 바랍니다.

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 9개

앗 감사합니다.!
우와~! 훌륭하십니다....
root님이 말씀하신 데로, 여기 개발자 분께서 HISTORY내용중 파일 변경 내용만 따로 올려주거나
그렇지 않다면, Tokenizing할 수 있도록 특별한 delimeter를 넣어주면 자동으로 하면 아주 편할텐데요...
따로 이렇게 삽질하지 않아도 되구요...

또한, 이 모듈을 조금 응용해서
gnuboard4 install 폴더와 마찬가지로 upgrade 폴더를 따로 만들어서 자동 실행시킬 수 있도록이요.
그냥 업그레이드 파일만 따로 업로드 해줬으면 편하겠는데;;;

이 방법 써봐야 겠네요
멋집니다.

위의 내용을 HISTORY 내용에서 자동으로 읽어서 파일 업데이트만 처리하도록
좀더 보강되어 관리자 화면에 "파일업그레이드"라는 메뉴가 하나 추가되었으면 좋겠군요.
햐~~ 대단하십니다.
잘사용하겠습니다.
저는 본체파일을 수정한게 군데군데 있어서 업그레이드때마다 눈앞이 흐미해졌어요.(업그레이드가 좋아서 한번, 노가다가 싫어서 한번)
그런데 님의 소스를 보고, 감격했습니다. ㅎ 덧붙여서 제게 맞도록 조금 고쳤습니다. 아마 저같은 입장에 있는분이 또계시면, 더 나은 코드를 만들어 주시겠죠 ㅎ

<?
/*
* Author : korone (korone@gmail.com, http://www.korone.net)
* Date : 2005-07-20
* Description :
* Upgrade script for gnuboard4
*/

$HOME = "/home/cbycby";
$SRC_PATH = "$HOME/gnuboard4/";
$DEST_PATH = "$HOME/";
$my_files_path = "$HOME/my_files";
$VERSION = "4.01.00";

$update_files =
"
HISTORY
adm/_common.php
adm/config_form.php
adm/config_form_update.php
adm/mail_preview.php
adm/mail_select_update.php
adm/mail_test.phpadm/member_form.php
adm/member_list.php
adm/upgrade.php
bbs/link.php
bbs/email_certify.php
bbs/email_stop.php
bbs/login_check.php
bbs/register_form.php
bbs/register_form_update.php
bbs/register_form_update_mail1.php
bbs/register_form_update_mail2.php
bbs/register_form_update_mail3.php
bbs/poll_result.php
bbs/poll_update.php
bbs/search.php
bbs/visit_insert.inc.php
lib/common.lib.php
lib/poll.lib.php
skin/member/basic/register_form.skin.php
skin/member/basic/register_result.skin.php
skin/poll/basic/poll_result.skin.phphead.sub.php
";
$myfiles=
"
";

echo "<font color=red>Try to Upgrade($VERSION)</font><br>";

$update_file = explode("
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /home/v10/skin/board/highlight/view.skin.php on line 106
n", $update_files);
for ($i=0; $i<count($update_file); $i++)
{
if ($update_file[$i] == "") continue;
$srcPath = $SRC_PATH.$update_file[$i];
$destPath = $DEST_PATH.$update_file[$i];
echo "STEP:$i copying $srcPath to $destPath<br>";
$cmd = "cp $srcPath $destPath";
system($cmd);
}
for ($i=0; $i<count($myfiles); $i++)
{
if ($update_file[$i] == "") continue;
$my_files_path = $my_files_path.$myfiles[$i];
$destPath = $DEST_PATH.$myfiles[$i];
echo "STEP:$i copying $srcPath to $destPath<br>";
$cmd = "cp $my_files_path $destPath";
system($cmd);
}
echo "<font color=red>Upgrade($VERSION) Completed...</font><br>";

?>

게시판 목록

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.
글쓰기
🐛 버그신고