코멘트는 빼고 백업이 가능할까요? 정보
코멘트는 빼고 백업이 가능할까요?본문
안녕하세요.
특정 게시판의 DB를 phpmyadmin으로 백업을 받으려고 합니다.
그런데 이 게시판에서 wr_comment = '0' 인 게시글만 백업을 받을 수도 있나요?
코멘트 하나하나 삭제를 시키려니 엄두가 안나는데...
방법 아시는 고수님들,, 한수 지도 부탁드리겠습니다(__)(--)(__)
특정 게시판의 DB를 phpmyadmin으로 백업을 받으려고 합니다.
그런데 이 게시판에서 wr_comment = '0' 인 게시글만 백업을 받을 수도 있나요?
코멘트 하나하나 삭제를 시키려니 엄두가 안나는데...
방법 아시는 고수님들,, 한수 지도 부탁드리겠습니다(__)(--)(__)
댓글 전체

우선 코멘트에 앞서 저는 비야천님과 같은 초보임을 밝혀드립니다.
가능 하다고 생각합니다.
물론 프로그램 이 선행되어야 그나마 원하는 형태로 된다고 생각합니다.
그럼 저의 소견을 말씀드리겠습니다.
우선 임의의 디비에 데이타 넘김 -> 임의의 디비에 게시판 전체 테이블의 comment!=0 인것만 모두 삭제 -> 백업
눈으로 보이는것은 단순히 백업만 이루어 지겠금 프로그램 해야 한다고 생각합니다.
전체 테이블의 정보는 gb_board안에 정체테잉블 이름이 있으니 이것을 활용하면 될것 같습니다.
#######새로이동된 디비 접속
~~~~~~~~~~~~~~~~~~~
~~~~~~~생략~~~~~~~~~
#######선택적 일괄삭제
$sql_alltable = " select bo_table from $cfg[table_board];
$result_table = sql_query($sql_alltable);
while($row = mysql_fetch_array($result_table)){
$table = $cfg[table_board]."$row[bo_table]";
$sql_del = $delete from $table where comment != 0;
sql_query($sql_del);
}
####백업구문
$DB_dir = "./data/file/DB_BackUp/";
if (!is_dir($DB_dir)) {
mkdir($DB_dir, 0701);
echo "<p><font color='red'>ㆍ</font> 백업디렉토리 <font color=#0080C0>$DB_dir</font>을(를) 생성하였습니다.</p>";
}
else echo "<p><font color='red'>ㆍ</font> 백업디렉토리 : <font color=#0080C0>$DB_dir</font></p>";
// MySqlDump & tar 압축
if($fname) {
$cmd_1 = "mysqldump -u" . $cfg[mysql_user] . " -p" . $cfg[mysql_pass] . " " . $cfg[mysql_db] . " > " . $DB_dir . $fname;
$cmd_2 = "tar cfz " . $DB_dir . $fname . ".tgz " . $DB_dir . $fname;
`$cmd_1`;
`$cmd_2`;
$sql_name = $DB_dir . $fname;
$tgz_name = $DB_dir . $fname . ".tgz";
echo "
<p><font color='red'>ㆍ</font> 백업 파일명 : <a href='$tgz_name'><font color=#800000><u>$fname.tgz</u></font></a></p>
<p><font color='red'>ㆍ</font> <font color=#0080C0>백업 파일명을 클릭하여 다운 받으세요!</font></p>
";
}
// BackUp 파일 이름 지정 폼
else {
$fname = $cfg[mysql_db] . "_" . date("ymd") . ".sql";
echo "
<form name='BackUp' method='post' action=''>
<font color='red'>ㆍ</font> <font color=#0080C0>BackUp 파일 이름을 지정하세요!</font><br>
<input type='text' name='fname' value='$fname' size='30' class='ib'>.tgz
<input type='submit' value=' Start... ' onclick='DB_BackUp(this.form)'>
</form>
";
}
이와같은 구조로 한 페이지의 선행적 프로그램으로 구동하신다면 가능하다고 생각됩니다. 이외의
리눅스상에서 mysqldump -uID -pPASS DB > ID.sql
은 안될꺼라고 생각됩니다. 물론 방법이 있으면 저도 좀 조언부탁드리구요 아직 소견이 좁아서 리룩스 상에서의 방법은 상기의 방법만 알고 있습니다.
아그리고 위의 PHP는 지금 증흥적으로 생각해서 오류에 대한 리포팅이 되지 않은 것입니다.
만약 사용하시기 위해서는 오류가 있을수 있는데 그것은 비야천님께 맡기겠습니다.[단순 디비백업은 그누에서 제공한것입니다.]
원하시는 phpmyadmin에 이와 같은 로직으로 별도의 페이지를 꾸미신다면 더욱좋겠죠^^
그누보드 기준으로 말씀드렸습니다. 그누보드 커뮤니티니 그누이외엔 다른님들이 참고 할수 없으닌깐요..^^;;
조금이라도 도움되었는지 모르겠습니다. 쓰고 보닌깐 도움이 별로 안된것같아 죄송하네요..^^*
그럼 좋은하루되세요
가능 하다고 생각합니다.
물론 프로그램 이 선행되어야 그나마 원하는 형태로 된다고 생각합니다.
그럼 저의 소견을 말씀드리겠습니다.
우선 임의의 디비에 데이타 넘김 -> 임의의 디비에 게시판 전체 테이블의 comment!=0 인것만 모두 삭제 -> 백업
눈으로 보이는것은 단순히 백업만 이루어 지겠금 프로그램 해야 한다고 생각합니다.
전체 테이블의 정보는 gb_board안에 정체테잉블 이름이 있으니 이것을 활용하면 될것 같습니다.
#######새로이동된 디비 접속
~~~~~~~~~~~~~~~~~~~
~~~~~~~생략~~~~~~~~~
#######선택적 일괄삭제
$sql_alltable = " select bo_table from $cfg[table_board];
$result_table = sql_query($sql_alltable);
while($row = mysql_fetch_array($result_table)){
$table = $cfg[table_board]."$row[bo_table]";
$sql_del = $delete from $table where comment != 0;
sql_query($sql_del);
}
####백업구문
$DB_dir = "./data/file/DB_BackUp/";
if (!is_dir($DB_dir)) {
mkdir($DB_dir, 0701);
echo "<p><font color='red'>ㆍ</font> 백업디렉토리 <font color=#0080C0>$DB_dir</font>을(를) 생성하였습니다.</p>";
}
else echo "<p><font color='red'>ㆍ</font> 백업디렉토리 : <font color=#0080C0>$DB_dir</font></p>";
// MySqlDump & tar 압축
if($fname) {
$cmd_1 = "mysqldump -u" . $cfg[mysql_user] . " -p" . $cfg[mysql_pass] . " " . $cfg[mysql_db] . " > " . $DB_dir . $fname;
$cmd_2 = "tar cfz " . $DB_dir . $fname . ".tgz " . $DB_dir . $fname;
`$cmd_1`;
`$cmd_2`;
$sql_name = $DB_dir . $fname;
$tgz_name = $DB_dir . $fname . ".tgz";
echo "
<p><font color='red'>ㆍ</font> 백업 파일명 : <a href='$tgz_name'><font color=#800000><u>$fname.tgz</u></font></a></p>
<p><font color='red'>ㆍ</font> <font color=#0080C0>백업 파일명을 클릭하여 다운 받으세요!</font></p>
";
}
// BackUp 파일 이름 지정 폼
else {
$fname = $cfg[mysql_db] . "_" . date("ymd") . ".sql";
echo "
<form name='BackUp' method='post' action=''>
<font color='red'>ㆍ</font> <font color=#0080C0>BackUp 파일 이름을 지정하세요!</font><br>
<input type='text' name='fname' value='$fname' size='30' class='ib'>.tgz
<input type='submit' value=' Start... ' onclick='DB_BackUp(this.form)'>
</form>
";
}
이와같은 구조로 한 페이지의 선행적 프로그램으로 구동하신다면 가능하다고 생각됩니다. 이외의
리눅스상에서 mysqldump -uID -pPASS DB > ID.sql
은 안될꺼라고 생각됩니다. 물론 방법이 있으면 저도 좀 조언부탁드리구요 아직 소견이 좁아서 리룩스 상에서의 방법은 상기의 방법만 알고 있습니다.
아그리고 위의 PHP는 지금 증흥적으로 생각해서 오류에 대한 리포팅이 되지 않은 것입니다.
만약 사용하시기 위해서는 오류가 있을수 있는데 그것은 비야천님께 맡기겠습니다.[단순 디비백업은 그누에서 제공한것입니다.]
원하시는 phpmyadmin에 이와 같은 로직으로 별도의 페이지를 꾸미신다면 더욱좋겠죠^^
그누보드 기준으로 말씀드렸습니다. 그누보드 커뮤니티니 그누이외엔 다른님들이 참고 할수 없으닌깐요..^^;;
조금이라도 도움되었는지 모르겠습니다. 쓰고 보닌깐 도움이 별로 안된것같아 죄송하네요..^^*
그럼 좋은하루되세요