原因:cron的環境變數和shell指令碼的環境變數不一樣
解決辦法:#方法一:定時任務裡面切換到root執行()
*/5 * * * * su - root -c "/data/pkgs/mysql/tools/auto_backup.sh"
#方法二:在指令碼裡面新增環境變數(親測可用)
vim /data/pkgs/mysql/tools/auto_backup.sh
#!/bin/bash
source /etc/profile
source ~/.bash_profile
#!/bin/sh# 在這修改程式名和程式所在目錄,其他不用改
source /etc/profile
source ~/.bash_profile
name="carte"
pid=`ps -a |grep $name| awk ''`
now=`date "+%y-%m-%d %h:%m:%s"`
# 檢測是否在執行
if [ ! $pid ]
then
echo "$now $name is not running, start it now..."
# 啟動程式命令
cd $path
echo "$now $path come in..."
new_pid=`ps -a |grep $name| awk ''`
# 檢測是否啟動成功
else
echo "$now $name is running, pid is $pid"
fi
定時任務可以通過cat /var/spool/mail/root檢視是否生效
linux 定時執行shell指令碼
在oracle 中可以利用dbms job包定時執行pl sql sql過程,在像備份等需要在作業系統級定時任務只能採用crontab來完成 本文講述crontab具體用法,以供備忘.在oracle 中可以利用dbms job包定時執行pl sql sql過程,在像備份等需要在作業系統級定時任務只能...
linux 定時執行shell指令碼
今天從網上看到了一篇文章,將其收藏。在oracle 中可以利用dbms job包定時執行pl sql sql過程,在像備份等需要在作業系統級定時任務只能採用crontab來完成 本文講述crontab具體用法,以供備忘.利用crontab來定時執行任務大致有如下三步 1 編寫shell指令碼 2 利...
crontab不能成功執行shell指令碼的可能原因
我們經常會需要使用crontab進行定時任務,但crontab不能成功執行指令碼的情況還是很常見,總結起來,本人了解到的和自己遇到的可能原因主要有以下幾個 1.crond程序不存在,該程序是crontab的守護程序,它必須存在才能讓crontab正常使用 2.系統時間不對 3.環境變數的問題 cro...