Crontab 備份www、mysql資料夾內容有問題 [論壇 - Ubuntu基本設定]
正在瀏覽:
1 名遊客
Crontab 備份www、mysql資料夾內容有問題 |
|||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
會員一級
![]()
註冊日期:
2008/11/17 17:26 所屬群組:
已註冊使用者 等級: 1
HP : 0 / 21
![]() |
請問一下~ 我想要排程備份apacher server的 mysql資料夾與WWW資料夾
但是使用crontab時發現~除了系統的的crontab(/etc/crontab)可以排程外。 在使用者環境下或是用SSH以root登入的crontaba -e所寫的都沒有執行 而且就算利用/etc/crontab來排程~排程備份出來的tar.gz是有問題的 我測試過腳本是沒有問題~~請問一下要如何解決呢? 排程語法:(在/etc/crontab 或是以管理員root或使用者身份進入crontab -e所寫的) 00 18 * * * root /usr/bin/backweb 腳本:/usr/bin/backweb (root.root 755) ymd=`date +%Y%m%d ` tar cvzf /backup_daily/db/mysql_db_$ymd.tar.gz /var/lib/mysql tar cvzf /backup_daily/web/web_web$ymd.tar.gz /var/www tar cvzf /backup_daily/phpini/phpini$ymd.tar.gz /etc/php5/apache2
2008/11/18 9:23
最後修改: 阿修 於 2008/11/21 19:18:35
|
||||||||||
工具箱
|
|||||||||||
|
訪客
|
回覆: Crontab 無法使用 |
|
|---|---|---|
|
Anon:訪客
|
cron 是一個服務(service)名稱
/etc/crontab 為其主要設定檔 當更改設定檔後,需要重新載入或重新啟動,使其立刻生效 # /etc/init.d/cron rload 或 # /etc/init.d/cron restart ---------------------------------------- 直接備份 mysql 資料庫(非用 sql 語法導出) 這是最簡單也最快速的備份法 但缺點是需要先關閉 mysql 服務,再備份 否則備份出來的資料庫,很有可能是錯誤的,需要修復 因為表格仍在開啟中就備份,存回去時可能被程式認為是錯誤的 另也有可能備份那瞬間,網頁正在操作資料庫 比如論壇有人正在發文寫入資料庫或其它的 將那瞬間的狀態備份下來,存回去時當然就有錯誤了 所以備份前必須先關閉 mysql 服務 然而關閉 mysql 服務,網站就會停擺... 頁面上會出現資料庫錯誤,很難看 提供我的作法給你參考: --------------------------------- 1.先建立一個備份專用的網頁目錄,比如 /var/www2。內容只有一個 index.html,畫面是:資料庫備份中,或網站維護中,請瀏覽者稍待1~2分鐘...之類的,常逛網路,這種畫面你應該見過。 2.另外要有 404.php 這個檔,404 網頁找不到功能,需於 http.conf 中開啟。內容很簡單,強制導向到 index.html,也就是網站維護中的頁面。
<?php
// Location 強迫導向,僅能使用「絕對路徑」
header ("Location: http://yourdomain/index.html") ;
exit ;
?>
3.備份前 mv /var/www /var/www3 #將原先目錄更名 mv /var/www2 /var/www #維護中頁面頂上去 這個是瞬間的,不到 0.5 秒 不管瀏覽者正在看什麼頁面,當他按下連結,因為目錄已經改變了,找不到檔案,便會得到 404 訊息。而 404 剛前面已經設定為強制導向到 index.htm 也就是:網站維護中的頁面。 4.接著關閉 mysql 服務,建議先等個 3秒,然後開始備份 /etc/init.d/mysqld stop slee 3 5.備份完成後,照原來順序,還原回去 先啟動 msyqld,等個3~5秒,因為啟動需要時間 將 www 更名回 ww2,將 www3 更名回 www 不管如何,備份 mysql 是一定要停止服務的,除非你用 sql 語法導出或其它備援機制。 以上作法仍會使網站停擺,但是對外面的訪客來說,他們會看到網站維護中的頁面,並得知過 3分鐘後再來就可以看了,而不是資料庫錯誤的頁面。常逛網路,你應該也看過資料庫錯誤的頁面,會覺得說這個網站很不夠專業,且也不曉得啥時才會恢復。這之間的差別就是在這裡。 建議自動備份時間為當地時間凌晨 4~6 點,根據流量統計,這時段訪客人數最少,影響最小。
2008/11/18 18:59
| 75878 66430 9b1e1 2165b
|
|
工具箱
|
||
回覆: Crontab 無法使用 |
|||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
會員一級
![]()
註冊日期:
2008/11/17 17:26 所屬群組:
已註冊使用者 等級: 1
HP : 0 / 21
![]() |
但是~我現在的狀況是~我要排程備份mysql與www這兩個資料夾~
在獨立執行腳本時可以執行備份動作~備份出來的db.tar.gz與web.tar.gz解壓縮後裡面是完整的內容。 但是放入排程執行後是有備份成功,但是出來的db.tar.gz與web.tar.gz內容有問題(解tar 出來後發現mysql只有部分資料庫,web.tar.gz則是沒有內容只有20bytes) mysql資料夾權限/群組(mysql.mysql)而www資料夾(root.root) PS:我在腳本前後有加上 /etc/init.d/apache2 stop與 /etc/init.d/apache2 start 設定/etc/crontab環境條件 nbuntu desktop 8.04 以root身份登入desktop環境 請問一下~有人可以解疑為何會這樣呢?感謝 backweb腳本:(/usr/bin/backweb) ymd=`date +%Y%m%d ` /etc/init.d/mysql stop /etc/init.d/apache2 stop tar cvzf /backup_daily/db/mysql_db_$ymd.tar.gz /var/lib/mysql tar cvzf /backup_daily/web/web_web$ymd.tar.gz /var/www tar cvzf /backup_daily/phpini/phpini$ymd.tar.gz /etc/php5/apache2 /etc/init.d/apache2 start /etc/init.d/mysql start
2008/11/21 11:23
最後修改: 阿修 於 2008/11/21 13:30:16
|
||||||||||
工具箱
|
|||||||||||
回覆: Crontab 備份www、mysql資料夾內容有問題 |
|||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
會員五級
![]()
註冊日期:
2007/3/29 10:54 來自 歹頑
所屬群組:
已註冊使用者 等級: 21
HP : 0 / 505
![]() |
不要停止mysql跟apache直接備份看看
試看看@@ 我在想會不會那兩個目錄的內容多半是用連結過去的 所以備份的時候....
2008/11/21 17:21
|
||||||||||
|
cue轉mp3 Khopper, VLC原生rm支援版, 自己編譯(最佳化)Ubuntu套件 apt-build
自製品:UbunVista 1.2, 多媒體套件安裝腳本, fahmon安裝腳本(跑F@H必備) ![]() 9.10的compiz-fusion-plugins-unsupported (魚缸/飄雪) 10秒內開機進到桌面這點真的很爽快
|
|||||||||||
工具箱
|
|||||||||||
回覆: Crontab 備份www、mysql資料夾內容有問題 |
|||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
會員一級
![]()
註冊日期:
2008/11/17 17:26 所屬群組:
已註冊使用者 等級: 1
HP : 0 / 21
![]() |
我原先也是沒有停止apache與mysql就直接備份但視還是一樣的情況~腳本可以直接執行~
備份出來的tar.gz檔也正確~ 但是~放到排程裡面備份出來的就是不行~ 有tar.gz檔但內容不完全和沒有資料 我有嘗試將www資料內所有目錄檔案改成(root.root)使用者.群組 權限和mysql改成(root.mysql) 但是利用排程備份結果還是一樣,有排程備份到,但是內容資料還是和上面情況一樣是有問題的~
2008/11/21 19:15
|
||||||||||
工具箱
|
|||||||||||
|
訪客
|
回覆: Crontab 備份www、mysql資料夾內容有問題 |
|
|---|---|---|
|
Anon:訪客
|
記得 Ubuntu 預設是不開啟 root 帳號的
sudo 可以切換到 root 帳號,但不代表 root 是開啟的 root 密碼為空,無法直接登入 好像是給 root 設密碼後,就可以開啟它 sudo passwd root
2008/11/21 20:37
| 75878 66430 9b1e1 2165b
|
|
工具箱
|
||
回覆: Crontab 備份www、mysql資料夾內容有問題 |
|||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
會員一級
![]()
註冊日期:
2008/11/17 17:26 所屬群組:
已註冊使用者 等級: 1
HP : 0 / 21
![]() |
我已經把root打開了
所以~可以以root身份登入x-windows裡面 這個狀況我已經先排除了 因為一開始第一次登入後修該root相關資料讓我可以直接以root身份登入 從apache server等安裝到新增腳本、crontab 排程等都是以root身份在x-windows下以終端機方式操作的
2008/11/22 0:17
|
||||||||||
工具箱
|
|||||||||||
回覆: Crontab 備份www、mysql資料夾內容有問題 |
|||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
會員五級
![]()
註冊日期:
2007/3/29 10:54 來自 歹頑
所屬群組:
已註冊使用者 等級: 21
HP : 0 / 505
![]() |
不要起圖形介面執行看看
雖然感覺起來不太可能 還有就是今天下午上課老師有提到uid的東西 不知道有沒有關聯
2008/11/22 1:03
|
||||||||||
|
cue轉mp3 Khopper, VLC原生rm支援版, 自己編譯(最佳化)Ubuntu套件 apt-build
自製品:UbunVista 1.2, 多媒體套件安裝腳本, fahmon安裝腳本(跑F@H必備) ![]() 9.10的compiz-fusion-plugins-unsupported (魚缸/飄雪) 10秒內開機進到桌面這點真的很爽快
|
|||||||||||
工具箱
|
|||||||||||
回覆: Crontab 備份www、mysql資料夾內容有問題 |
|||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
會員一級
![]()
註冊日期:
2008/11/17 17:26 所屬群組:
已註冊使用者 等級: 1
HP : 0 / 21
![]() |
這個我也有想過
但是我本身就是用root權限操作 而且我是在x-windows下的終端機介面以root身份安裝、變更server、資料、資料夾權限等
2008/11/25 0:15
|
||||||||||
工具箱
|
|||||||||||
|
訪客
|
回覆: Crontab 備份www、mysql資料夾內容有問題 |
|
|---|---|---|
|
Anon:訪客
|
debug 偵錯
補抓執行中的訊息(包含錯誤訊息)存到 log 檔 用大於符號,將訊息重新導向存檔 $ 指令敘述 > /root/backup-log.txt 2>&1
2008/11/25 11:23
| 75878 66430 9b1e1 2165b
|
|
工具箱
|
||
您可以查看帖子.
您可以發帖.
您可以回覆.
您不可編輯自己的帖子.
您不可刪除自己的帖子.
您不可發起投票調查.
您不可在投票調查中投票.
您不可上傳附件.
您可以不經審核直接發帖.








工具箱



