帳號搬移

Blueball.gif (923 個位元組)(吳清雲):帳號搬移
Q:  請問我想將某一台linux6.2的帳號移至另一台相同版本的linux上要如何處理?又如果想搬到 linux7.0上做法是否相同請幫幫忙謝謝!!


Blueball.gif (923 個位元組)(張志清):Re: 帳號搬移
A:我將6.2上的使用者資料換到7.0上是如此做的:
將以下檔案保留下來:
var/spool/mail/*---保留信件
/home---保留使用者的個人檔案
以上請tar起來
etc/password
etc/shadow
將舊系統檔案用文書處理器打開,copy出你所建立的使用者那一段,貼到新系統的檔案中。
另外建議你去找另一顆新的hd來裝,省得掛點就全毀了,而7.0與6.2有些不同點有請一狀況修正,例如apache預設目錄改到/var/www/html/,xinetd.d等
這樣應該就可以了,因為轉換有一段時間了,如果有錯誤或漏掉的地方請各位先進指正。

--------------------------------------------------------------------------------
Blueball.gif (923 個位元組)馬憲文 Re: 帳號搬移 2001/6/23 
--------------------------------------------------------------------------------
那舊有的Mysql及CGI的程式需要重新設定嗎? 

--------------------------------------------------------------------------------
Blueball.gif (923 個位元組)張志清  Re: 帳號搬移 2001/6/23 
--------------------------------------------------------------------------------
重新設定?
因為我當時並沒有安裝mysql,但我覺得:
mysql需要將資料庫備分起來,有資料庫備份的指令,但我沒用過,請知道的人出個聲吧!
在RH-7.0中cgi程式應該是放到/var/www/cgi-bin裡就好了吧!
不知這樣算不算回答了你的問題? 

--------------------------------------------------------------------------------
Blueball.gif (923 個位元組)Anderson  Re: 帳號搬移 
--------------------------------------------------------------------------------
提供一個個人的經驗 :
用 mysqldump 遇到 
1.資料量太大
2.欄位內容有控制字元(ex:Ctrl...)就會出事
所以小弟用另外一個"賤招" : MySQL 是將資料儲存在檔案中,以 RedHat 7.0 RPM 安裝的MySQL 為例,放在 /var/lib/mysql/*.* 只要將檔案複製到另一台上(當然另一台要先安裝 MySQL ,而且 Database 要先 create 好),那就搞定了!!

不過上述方法有缺點,那就是無法跨平台備份(ex:不能將 Linux 上的檔案 copy 給 Windows 上用),但是 mysqldump 就沒有平台的問題了!!

--------------------------------------------------------------------------------
Blueball.gif (923 個位元組)賴俊銘  Re: 帳號搬移 
--------------------------------------------------------------------------------
mysql 的備份指令是mysqldump 
指令我知道的有兩種方式
mysqldump db_name > file_name -u user_id -puser_password
mysqldump -A > file_name -u user_id -puser_password
(-A 是備份所有的db 到file_name -p 和user_password中間不要有空白)
有可以直接在網頁執行的程式...我忘了是在那看到的..直接貼上....
<?PHP
//####################################################################################### 
//# File: mysqlphpbak.php3 只看下面有中文說明的部分,本程式會備份所有的資料庫 # 
//# Revision: 0.1.1 並建一個資料夾來放備份的資料,這些資料也可以讓您回存 # 
//# Title: This simple script searches through databases on a server (mysql) and # 
//# returns the mysqldump data into a database_name.sql dump file in a # 
//# directory created by current date. # 
//# Created: May 25, 1999 # 
//# Current: June 19, 1999 # 
//# Author: Dan Nedoborski # 
//# Contact: dan@trytel.com # 
//# Trytel Internet Inc. http://web.trytel.com # 
//####################################################################################### 
//# Required Files: # 
//# None Stand Alone Function # 
//####################################################################################### 
//# Input Variables: # 
//# None Called by web page through http or by cronjob and binary php # 
//####################################################################################### 
//# Revisions: # 
//# 0.1.0 1.created the function # 
//# 0.1.1 1.added simpler call for cycling through databases # 
//####################################################################################### 

//*************************************************************************** 
// USAGE Instructions 
// Create a database backup directory 
// Edit the variables below to match your system configuration 
// Make sure you have a php binary on your server 
// To test manually use /usr/local/bin/php /pathtothisreconfigured file 
// To Automate : 
// Add to your CRONTAB (crontab -e) somthing like this : 
// 30 04 * * * /usr/local/bin/php /pathtothisreconfigured file 
//*************************************************************************** 


//*************************************************************************** 
// Variables set to configure with your database server 
// and backup directories 
//*************************************************************************** 

$MYSQL_SERVER= "localhost"; // mysql主機名稱 
$MYSQL_USER= "root"; // mysql主機帳號 
$MYSQL_PASSWD= ""; // mysql主機密碼 
$PATHTOMYSQLDUMP= "/usr/local/mysql/bin/"; // 程式mysqldump的路徑所在 

$DIRNAME= "/home/user/htdocs/backup/"; // 要備份到那個路徑,以下都不要管! (但要改成chmod 777 backup/
$DIRNAME.=date( "Ymd"); // add date identifier 
$DIRNAME.= "/"; // add trailing slash 

//*************************************************************************** 

echo "Creating New Back Up Directory\n\n";

echo "Using Directory : $DIRNAME<br>\n";


//*************************************************************************** 
// The directory creation or ommission, depending if a backup was already 
// completed 
//*************************************************************************** 

if (@mkdir ($DIRNAME,0700)) {
echo "New Directory Created<br>\n";
} else {
echo "Directory already exists!\n";
}

echo "Backing Up all Databases on $HOSTNAME\n\n";

//*************************************************************************** 
// Connect to the database server and retrieve all database names, 
// store these in an array $tb_names[], for later use. 
//*************************************************************************** 

mysql_connect($MYSQL_SERVER,$MYSQL_USER,$MYSQL_PASSWD);

$result = mysql_list_dbs();
$i = 0;
while ($i < mysql_num_rows ($result)) {
$tb_names[$i] = mysql_tablename ($result, $i);
$i++;
}

//*************************************************************************** 
// Loop through the table names, and do the dump. 
//*************************************************************************** 
for ($i=0; $i<count($tb_names); $i++) {

$COMMAND_DO=$PATHTOMYSQLDUMP. "mysqldump -h".$MYSQL_SERVER. " -u".$MYSQL_USER. " -p".$MYSQL_PASSWD. " ".$tb_names[$i]. " > ".$DIRNAME.$tb_names[$i]. ".sql";

//echo $COMMAND_DO."\n"; // uncomment these lines if you want to see all 
//flush(); // back-ups made on the server 

exec($COMMAND_DO); // execute each backup 

}

echo "\n\nDONE!\n";

?>