這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
nohup命令
在 linux 下面部署,我們可以利用 nohup 命令,把應用部署在後端,如下所示:
nohup ./yourapp &
這樣你的應用就跑在了 Linux 系統的守護進程
nohup命令:如果你正在運行一個進程,而且你覺得在退出帳戶時該進程還不會結束,那麼可以使用nohup命令。該命令可以在你退出帳戶/關閉終端之後繼續運行相應的進程。nohup就是不掛起的意思( no hang up)。
一般如何如下兩種方式使用它:
nohup command 或者 nohup command &
這之間的差別是帶&的命令列,即使terminal(終端)關閉,或者電腦死機程式依然運行(前提是你把程式遞交到伺服器上);
使用它需要注意的問題是:它把標準輸出(STDOUT)和標準錯誤(STDERR)結果輸出到nohup.txt檔案這個看似很方便,但是當輸出很大的時候,nohup.txt檔案會非常大,或者多個後台命令的時候大家都會輸出到nohup.txt檔案,不利於尋找結果和偵錯工具。
相關請參考:http://www.2cto.com/os/201301/185701.html
kill –HUP 進程ID 熱升級
先用 ps -ef | grep 應用程式名稱 找到應用所在的進程ID。
想簡單的停止和重啟進程。如下:
# kill -HUP PID
該命令讓Linux和緩的執行進程關閉,然後立即重啟。在配置應用程式的時候,這個命令很方便,在對設定檔修改後需要重啟進程時就可以執行此命令。
注意,是重啟進程重新讀取設定檔。
參考:http://beego.me/docs/advantage/reload.md
crontab 定時任務
添加crontab 任務
對於crontab任務有兩種方式,一種為root使用者可以直接添加;一種為非root使用者需要crontab -e方式來添加;以root使用者為例,執行下面命令:
vi /etc/crontab
在最下面添加一條:
3 4 * * * 需要執行的命令
意思就是在每天的4點3分執行這個檔案;
寫好後儲存退出crontab。
重啟crontab服務
/etc/init.d/crond restart
參考:http://jingyan.baidu.com/article/11c17a2c796354f446e39ded.html
如何查看crontab定時任務是否執行
針對Linux系統的查詢方法(含Redhat、SUSE)
看 /var/log/cron這個檔案就可以,可以用tail -f /var/log/cron觀察
如果在這個檔案看到類似下面的請看:
Sep 12 10:40:02 dev crond[30256]: (root) CMD (/usr/local/mysql-standard-5.0.26-linux-i686/CollectionDataBackup/collectionDataBackup.sh)
Sep 12 10:40:03 dev crond[30255]: (root) MAIL (mailed 376 bytes of output but got status 0x0047 )
這裡表示這個程式執行反饋的資訊被Mail了,但是mail設定的問題,沒有發送。當然如果發送了,則可以去下面目錄去看執行提示資訊:
mail任務(Linux UNIX)在 /var/spool/mail/root 檔案中,有crontab執行日誌的記錄,用tail -f /var/spool/mail/root 即可查看最近的crontab執行情況。
參考:http://jingyan.baidu.com/article/73c3ce28e7b298e50343d925.html
tail 命令參數請看:http://www.2cto.com/os/201111/110143.html
如果不想用Mail, 則可以把執行輸出自行進行控制到一個檔案,自行查看。類似如下方式:
0 12 * * * /opt/oracle/rmanbackup.sh > /home/oracle/backup.log 2>&1
上傳rz及下載sz
sz:將選定的檔案發送(send)到本地機器
rz:運行該命令會彈出一個檔案選擇視窗,從本地選擇檔案上傳到伺服器(receive)
參考:http://www.cnblogs.com/ghj1976/p/3742062.html