經(jīng)常有這樣的需求,寫一個(gè)python文件,之后把這個(gè)python做成定時(shí)任務(wù)形式,按要求定時(shí)crontab執(zhí)行!
創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),江城網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:江城等地區(qū)。江城做網(wǎng)站價(jià)格咨詢:18980820575而定時(shí)任務(wù)經(jīng)??吹饺缦赂袷剑┤缥蚁旅孢@個(gè)每三分鐘執(zhí)行一次,而且把python的輸出信息每次記錄到log日志里面!常用的是
[root@nessus?allpython2019]#?crontab?-e */3?*?*?*?*?/usr/bin/python?/root/allpython2019/1-FtpSwDownloadcfg20191101.py?>>?/root/allpython2019/run.log?2>&1 [root@nessus?allpython2019]#那么這個(gè)2>&1 究竟是什么呢?
其實(shí)網(wǎng)上很多博文都解釋了,如下:
run.log 2>&1 含義參考https://blog.csdn.net/liupeifeng3514/article/details/79711694
解答:command > a? 2>&1 【command >> a? 2>&1】這條命令,可以理解為執(zhí)行 command 產(chǎn)生的標(biāo)準(zhǔn)輸入重定向到文件 a 中,標(biāo)準(zhǔn)錯(cuò)誤也重定向到文件 a 中?。╝可以是文件run.log或者/dev/null 空設(shè)備文件)【如果不這樣寫 可能只有標(biāo)準(zhǔn)輸出打印到log文件去了? 而stderr并沒(méi)有被重定向到log中,stderr被打印到了屏幕上】
下面是我的測(cè)試:
(1)測(cè)試不加入2>&1 stderr并沒(méi)有被重定向到log中,stderr被打印到了屏幕上
(2)測(cè)試加入2>&1 stderr也被重定向到log中了
(3)測(cè)試常用定時(shí)crontab執(zhí)行時(shí)候command > a? 2>&1 和command >> a? 2>&1這2條命令區(qū)別,即一個(gè)覆蓋!一個(gè)是追加!我常用追加!
幾個(gè)基本符號(hào)及其含義: /dev/null?表示空設(shè)備文件; 0?表示stdin標(biāo)準(zhǔn)輸入; 1?表示stdout標(biāo)準(zhǔn)輸出; 2?表示stderr標(biāo)準(zhǔn)錯(cuò)誤。 例如我寫了下面這個(gè)測(cè)試程序【這里我們弄了兩條命令,其中t指令并不存在,執(zhí)行會(huì)報(bào)錯(cuò),會(huì)輸出到stderr。date能正常執(zhí)行,執(zhí)行會(huì)輸出當(dāng)前時(shí)間,會(huì)輸出到stdout?!?[root@nessus?allpython2019]#?vim?test.sh #!/bin/sh t date ~ ~ ~ ~ "test.sh"?[新]?3L,?17C?已寫入????????????????????????????????????????????????????????? [root@nessus?allpython2019]#?chmod?+x?test.sh [root@nessus?allpython2019]#?./test.sh?>?res1.log ./test.sh:行2:?t:?未找到命令??????????????#--------可以看到不加入2>&1?stderr并沒(méi)有被重定向到log中,stderr被打印到了屏幕上 [root@nessus?allpython2019]#? [root@nessus?allpython2019]#?cat?res1.log? 2019年?11月?01日?星期五?10:01:47?CST [root@nessus?allpython2019]#? [root@nessus?allpython2019]#? [root@nessus?allpython2019]#?./test.sh?>?res2.log?2>&1?#--------可以看到加入2>&1?stderr也被重定向到log中了 [root@nessus?allpython2019]#? [root@nessus?allpython2019]#? [root@nessus?allpython2019]#?cat?res2.log? ./test.sh:行2:?t:?未找到命令 2019年?11月?01日?星期五?10:03:08?CST [root@nessus?allpython2019]#? [root@nessus?allpython2019]#? [root@nessus?allpython2019]#?./test.sh?>?res2.log?2>&1??#---------------下面演示我們常用的>和>>區(qū)別,就是一個(gè)覆蓋!一個(gè)是追加! [root@nessus?allpython2019]#?cat?res2.log? ./test.sh:行2:?t:?未找到命令 2019年?11月?01日?星期五?10:03:24?CST [root@nessus?allpython2019]#? [root@nessus?allpython2019]#? [root@nessus?allpython2019]#?./test.sh?>>?res2.log?2>&1 [root@nessus?allpython2019]#?cat?res2.log? ./test.sh:行2:?t:?未找到命令 2019年?11月?01日?星期五?10:03:24?CST ./test.sh:行2:?t:?未找到命令 2019年?11月?01日?星期五?10:03:40?CST [root@nessus?allpython2019]#?./test.sh?>>?res2.log?2>&1 [root@nessus?allpython2019]#?cat?res2.log? ./test.sh:行2:?t:?未找到命令 2019年?11月?01日?星期五?10:03:24?CST ./test.sh:行2:?t:?未找到命令 2019年?11月?01日?星期五?10:03:40?CST ./test.sh:行2:?t:?未找到命令 2019年?11月?01日?星期五?10:03:44?CST [root@nessus?allpython2019]#? [root@nessus?allpython2019]#? [root@nessus?allpython2019]#另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
本文題目:Linux里的2>&1究竟是什么-創(chuàng)新互聯(lián)
轉(zhuǎn)載來(lái)于:http://jinyejixie.com/article36/jghsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、電子商務(wù)、小程序開發(fā)、企業(yè)建站、定制開發(fā)、App開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容