帳號搬移
(吳清雲):帳號搬移
Q: 請問我想將某一台linux6.2的帳號移至另一台相同版本的linux上要如何處理?又如果想搬到
linux7.0上做法是否相同請幫幫忙謝謝!!
(張志清):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等
這樣應該就可以了,因為轉換有一段時間了,如果有錯誤或漏掉的地方請各位先進指正。
--------------------------------------------------------------------------------
馬憲文
Re: 帳號搬移 2001/6/23
--------------------------------------------------------------------------------
那舊有的Mysql及CGI的程式需要重新設定嗎?
--------------------------------------------------------------------------------
張志清
Re: 帳號搬移 2001/6/23
--------------------------------------------------------------------------------
重新設定?
因為我當時並沒有安裝mysql,但我覺得:
mysql需要將資料庫備分起來,有資料庫備份的指令,但我沒用過,請知道的人出個聲吧!
在RH-7.0中cgi程式應該是放到/var/www/cgi-bin裡就好了吧!
不知這樣算不算回答了你的問題?
--------------------------------------------------------------------------------
Anderson
Re: 帳號搬移
--------------------------------------------------------------------------------
提供一個個人的經驗 :
用 mysqldump 遇到
1.資料量太大
2.欄位內容有控制字元(ex:Ctrl...)就會出事
所以小弟用另外一個"賤招" : MySQL 是將資料儲存在檔案中,以 RedHat 7.0 RPM 安裝的MySQL 為例,放在 /var/lib/mysql/*.* 只要將檔案複製到另一台上(當然另一台要先安裝 MySQL ,而且 Database 要先 create 好),那就搞定了!!
不過上述方法有缺點,那就是無法跨平台備份(ex:不能將 Linux 上的檔案 copy 給 Windows 上用),但是 mysqldump 就沒有平台的問題了!!
--------------------------------------------------------------------------------
賴俊銘
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";
?>