shell指令碼直接執行沒有問題,crontab定時執行失敗的解決方法
在實行一個shell指令碼(呼叫java程式修改一個excel檔案)時,單獨sh可以得到想要的結果。
但是放到crontab定時執行後,卻沒有得到一個新的excel檔案,log也沒有報錯。
查看了路徑,檔案許可權都沒有問題,最後在網上查了一下,發現這樣可以解決問題:
將crontab執行的語句進行修改:
15 11 * * * /home/loganalysis/dealexcel.sh >> /home/loganalysis/error.log 2>&1
修改為:
15 11 * * * cd /home/loganalysis/ && ./dealexcel.sh >> /home/loganalysis/error.log 2>&1
但是這樣可以解決的原因還不是很清楚,希望有大牛可以解釋一下。
相關推薦
shell指令碼直接執行沒有問題,crontab定時執行失敗的解決方法
在實行一個shell指令碼(呼叫java程式修改一個excel檔案)時,單獨sh可以得到想要的結果。 但是放到crontab定時執行後,卻沒有得到一個新的excel檔案,log也沒有報錯。 查看了路徑,檔案許可權都沒有問題,最後在網上查了一下,發現這樣可以解決問題: 將cr
PHP定時任務執行處理、Crontab定時執行程式,Linux設定定時任務(教程案例)
【第一步】:先寫task.sh指令碼檔案。 【第二步】:設定Crontab定時時間,定時執行task.sh指令碼檔案 【案例一】:每月1號、15號的06:10點,定時備份網站原始碼: 【第一步】:先寫youhutong.sh指令碼檔案。 [[email pr
使用shell指令碼或命令列 新增crontab 定時任務
crontab 是運維過程中常用的定時任務執行工具 一般情況下在有新的定時任務要執行時,使用crontab -e ,將開啟一個vi編輯介面,配置好後儲存退出,但是在自動化運維的過程中往往需要使用shell指令碼或命令自動新增定時任務。接下來結束三種(Cent
指令碼手動執行無誤,crontab自動執行出錯
今天設定的crontab任務沒有執行,檢視日誌發現: java:command not found這樣的錯誤 但是,我用java -version檢視,是可以顯示java的版本資訊的,也就是說我安裝了java,但crontab執行的時候沒有鳥它。 所以問題為: 我的指令
shell指令碼:Syntax error: Bad for loop variable錯誤解決方法
Linux Mint中寫了一個簡單的shell指令碼,利用for..do..done結構計算1+2+3......+100的值,結果執行"sh -n xxx.sh"檢測語法時總是報錯,但在PC機上可正
使用crontab定時執行shell指令碼
原帖地址:http://blog.chinaunix.net/uid-429659-id-4510419.html 使用crontab你可以在指定的時間執行一個shell指令碼或者一系列Linux命令。例如系統管理員安排一個備份任務使其每天都執行 入門 # cronta
shell指令碼直接執行和crontab結果不一樣
問題描述: 案例1. 以前寫了個更新svn然後cp到別外一個目錄(簡稱目錄a)的指令碼,達到另外一個目錄的程式定期svn同步的效果。(當然,你可能要問為啥目錄a不裝個svn up,這個你可以先不管) 指令碼寫好後,執行沒有問題,結果放到crontab中定時跑,卻怎麼也不行
centos crontab定時執行shell指令碼
1、安裝yum install crontabs2、建立指令碼touch test.sh3、編輯指令碼vi test.sh編輯後的test.sh還不是可執行檔案,需要執行chmod 700 test.sh4、編輯crontab -e
LINUX定時執行SHELL指令碼實現DB2資料庫操作,crontab無法正常識別執行
LINUX定時執行SHELL指令碼實現DB2資料庫操作。首先建立shell指令碼[注意:必須要設定匯出一下相關命令(DB2)的環境變數,否則crontab無法正常識別執行]。然後使用crontab建立定時任務。
樹莓派學習筆記——crontab定時執行指令碼
crontab定時執行指令碼 如果在玩樹莓派的過程中,我們需要定時或者定期的執行一些程式或指令碼,這裡有個好方法,就是Linux下的 crontab。 通常會用到的就是兩個命令: 檢視已有的定時任務 [email protected]:~ $ cront
crontab 定時執行命令,引數解釋,如何結合PHP artisan執行,crontab -e -l等 分 時 日 月 周 commands
請認真閱讀下面文字: crontab命令用於安裝、刪除或者列出用於驅動cron後臺程序的表格。使用者把需要執行的命令序列放到crontab檔案中以獲得執行。 每個使用者都可以有自己的crontab檔案。/var/spool/cron下的crontab檔案不可以直接
建立使用者, 使用crontab定時執行程式
# 以建立一個名為openstack的使用者為例子 sudo adduser openstack sudo adduser openstack sudo # 把openstack使用者加到可以使用crontab的列表裡,需要使用root使用者 sudo su echo 'openst
在linux下利用crontab定時執行PHP指令碼
1、使用crontab –e編輯定時任務 內容為: xx:xx:xx 執行一個test.php檔案 2、php檔案必須在檔案頭一行,加上直譯器路徑(就象perl做的那樣) #!/usr/local/bin/php PHP的
mac上使用 crontab 定時執行python指令碼
網路是給力的,居然還真有,頓時感覺學海無涯哇。 1. crontab -e 來編輯自定義自己的任務 【每天的 14點55分執行 python 指令碼】 55 14 * * * python /Users/hanjing/Desktop/pythonworkspace/yangcheapp/sendmai
crontab 定時執行php指令碼檔案
PHP 安裝模式 首先我們必須先確認自己在LINUX Ubuntu 伺服器上php的安裝模式,以CGI 模組還是Apache模組方式安裝? 如果不確定php安裝模式,可以使用 phpinfo() 函式檢視:將<?php phpinfo(); ?> 寫在php檔
crontab定時執行php指令碼備份資料庫
2014年的時候用crontab定時執行php指令碼來備份資料庫,簡單的寫了個例項: db_backup.php程式碼: <?php date_default_timezone_set ('A
自動獲取shell指令碼的絕對路徑,執行路徑
檔名 test.sh #!/bin/sh echo "指令碼所在的資料夾名:" dirname $0 DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" echo "指令碼的執行路徑
shell指令碼不暫停程序,暫停幾秒執行下一條shell命令
需求如下: 跑monkey指令碼如果遇到異常結束,則使用logcat輸出日誌,輸出三秒後停止輸出 如果使用sleep 命令的話,則會導致logcat在sleep的時候也暫停執行了 解決方法如下,通過while迴圈暫停3秒: ti1=`date +%s` #獲取時間戳
MySQL使用mysqldump備份資料庫指令碼手工執行成功 crontab定時卻失敗的解決方法
用crontab自動備份MySQL的時候匯出總是為空,原因是corn的環境變數中沒有mysqldump,所以用crontab執行mysqldump的時候要加上絕對路徑,如:/yourMySQLPat
【Linux】crontab——定時執行任務,表示式編寫
簡介 Linux crontab和Windows task schedules非常的相似。Crontab可以用來在系統中定期的執行任務。比如:寫了一個爬蟲需要每天早上八點執行,就可以用到Crontab;安裝的Tomcat伺服器需要每天凌晨重啟一次,也可以使用到