使用rsync作為備份工具,實(shí)現(xiàn)電子文件的增量備份,寫了一個(gè)腳本,在linux命令行調(diào)用 sh shell.sh進(jìn)行測試,成功實(shí)現(xiàn)了電子文件的備份功能,然后在Crontab增加了定時(shí)任務(wù),每天凌晨1點(diǎn)進(jìn)行同步。
00 01 * * * /task/shell.sh
后來發(fā)現(xiàn)文件同步失敗了,后來排查發(fā)現(xiàn)應(yīng)該是腳本雖然被執(zhí)行,但是沒有成功,但是在Linux控制臺(tái)中測試又沒問題,這是什么原因呢?
查找資料之后發(fā)現(xiàn),crontab有一個(gè)問題,就是它不會(huì)從profile文件中讀取環(huán)境變量參數(shù),經(jīng)常導(dǎo)致在手工執(zhí)行某個(gè)腳本時(shí)是成功的,但是到crontab中試圖讓它定期執(zhí)行時(shí)就是會(huì)出錯(cuò)。
所以原因就在于,crontab沒有去讀環(huán)境變量,需要再腳本中手動(dòng)引入環(huán)境變量。
在腳本中加入了引入環(huán)境變量的配置:
#!bin/bash
source /etc/profile
source ~/.bash_profile
需要執(zhí)行的命令
再執(zhí)行時(shí),問題解決。文章來源:http://www.zghlxwxcb.cn/news/detail-721365.html
原來就是因?yàn)閏rontab在執(zhí)行腳本時(shí)沒有讀取環(huán)境變量,導(dǎo)致執(zhí)行rsync命令行出錯(cuò)文章來源地址http://www.zghlxwxcb.cn/news/detail-721365.html
到了這里,關(guān)于Linux Crontab定時(shí)執(zhí)行腳本不執(zhí)行,但手動(dòng)執(zhí)行腳本正常原因及解決方案的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!