怪事呀!救命呀!

這個版面主要討論 debian 在 server 端的應用問題, server 種類繁多..舉凡 Web Server 、 File Server、 DHCP Server..等等。

版主: 阿信

怪事呀!救命呀!

文章cjm » 週五 3月 21, 2008 1:37 pm

小弟安裝一台ubuntu server,寫了一支scripts,檔名back.sh:
#!/bin/bash
cd /root
today=`date "+%Y-%m-%d"`
tar zcvf test.$today.tgz test
接著手動執行
sh back.sh
一切都很正常,但是寫入 crontab,
0 3 * * * /bin/sh /root/back.sh
怪事來了,原本一個快1G的檔案,卻只打包了一點點就停工啦,百思不得其解,有勞各位大哥幫忙!
cjm
可愛的小學生
可愛的小學生
 
文章: 26
註冊時間: 週六 8月 25, 2007 4:47 pm

文章粽子 » 週五 3月 21, 2008 3:30 pm

目前先想辦法弄到錯誤訊息
你在crontab 裡改成
0 3 * * * /bin/sh -x /root/back.sh > debug.log 2>&1
然後跑完,你可以看到debug.log 中有紀錄shell 是怎麼執行的,看有沒有錯誤訊息
粽子
可愛的小學生
可愛的小學生
 
文章: 30
註冊時間: 週五 2月 22, 2008 1:31 pm

文章cjm » 週五 3月 21, 2008 5:10 pm

真神奇,竟然正常了 ,請問粽子兄-x這個參數的意義嗎?
cjm
可愛的小學生
可愛的小學生
 
文章: 26
註冊時間: 週六 8月 25, 2007 4:47 pm

文章70630515 » 週五 3月 21, 2008 6:50 pm

-x file
True if file exists and is executable.
我不自私,因為我開放(Open) , 我很快樂,因為我分享(Share)–Open Source
頭像
70630515
懵懂的國中生
懵懂的國中生
 
文章: 160
註冊時間: 週一 3月 13, 2006 9:15 am
來自: 北鼻存錢筒

文章粽子 » 週六 3月 22, 2008 6:59 pm

No!!!
sh 的 -x 參數是說 "shell 會先印出他要跑的指令到終端機,然後才真正執行指令",這最常用來debug shell script ,一旦確定script ok, -x 參數都是會拿掉的

test 命令的 -x 參數才是 True if file exists and is executable.

我本來是希望拿到shell 執行的狀況才會希望你下那串指令.結果還沒看到,就狀況正常,看似應該高興,但其實我才覺得事情更大條.沒確定下來錯誤的成因,就上線,很危險,因為你永遠不知道,錯誤的狀況啥時候會在來一次...
粽子
可愛的小學生
可愛的小學生
 
文章: 30
註冊時間: 週五 2月 22, 2008 1:31 pm

文章70630515 » 週六 3月 22, 2008 10:02 pm

-x xtrace
Write each command to standard error (preceded by
a ‘+ ’) before it is executed. Useful for debug‐ ging.
= =|||

:ooops:
我不自私,因為我開放(Open) , 我很快樂,因為我分享(Share)–Open Source
頭像
70630515
懵懂的國中生
懵懂的國中生
 
文章: 160
註冊時間: 週一 3月 13, 2006 9:15 am
來自: 北鼻存錢筒


回到 debian server

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客