您好,登錄后才能下訂單哦!
主要問題:北京賽+車程序出+售 1446595067 haozbbs.com
第一:手動執行.sh文件是沒有問題的,而定時任務執行.sh文件則提示沒有連接到數據庫。
處理方法:
在腳本最前面加上一句:
source ~/.bash_profile
這樣運行環境就一摸一樣了。加上這句后,直接執行能成功的腳本放在crontab里都能執行。
第二:導出的數據亂碼,excel2003版本太低,打不開cvs格式的文件。
第三:第三個問題:未獲取到當前時間(下面有詳細解釋)
一、運行crontab –e 編寫一條定時任務 */5 * * * * /home/test.sh 在每5分鐘執行一次test.sh腳本。
二、查詢當前用戶定時任務或刪除當前用戶定時任務。
2.1獲取當前日期
第一種:聲明變量
DATE=`date "+%Y%m%d"`
上面兩點是數字1左邊的。加號要緊貼著右邊,否則無效。
引用:touch_${DATE}.txt
第二種:直接使用日期
touch `date +%Y%m%d`.txt
三、直接上命令
3.1首先要有一個啟動的shell,它是用來讓定時任務去調用的,并且記錄日志輸出日志。executeShell.sh代碼如下:
#!/bin/bash
DATE=`date +%Y%m%d`
SHELL_NAME="shell.sh"
echo "begin $SHLL_NAME---"`date`"---" >> /home/db2inst1/metadata_backup/$DATE.log
shell_dir="/home/db2inst1/"
cd $shell_dir
sh $SHELL_NAME >> /home/db2inst1/metadata_backup/$DATE.log
#db2 connect to standard user metadata using metadata
3.2shell.sh這個shell是要操作數據庫的關鍵的腳本:
#!/bin/sh
source ~/.bash_profile
date=`date +%Y%m%d`
rm -rf /home/db2inst1/metadata_backup/${date}
cd /home/db2inst1/metadata_backup/
mkdir /home/db2inst1/metadata_backup/${date}
cd /home/db2inst1/metadata_backup/${date}/
echo "開始執行腳本"
if(db2 connect to 數據庫名 user 用戶名 using 密碼 > /dev/null)
then
echo "[info]db2連接成功"
db2 export to AAB01.ixf of ixf 'select * from AAB01'
#########################################################
db2 export to AAB01.csv of del 'select * from AAB01'
else
echo "[info]db2連接失敗"
exit 1
fi
if(db2 connect reset > /dev/null)
then
echo "[info]db2連接斷開成功"
else
echo "[info]db2連接斷開失敗"
fi
#cd /home/db2inst1/metadata_backup/
#tar -zcvf ${date}.tgz /home/db2inst1/metadata_backup/${date}/
#rm -rf /home/db2inst1/metadata_backup/${date}
四、成果圖
參考:
https://www.linuxidc.com/linux/2018-11/155189.htm
https://blog.csdn.net/qq_28538407/article/details/81130737
https://blog.csdn.net/alibo2008/article/details/7588046
---------------------
作者:Gordan_
來源:CSDN
原文:https://blog.csdn.net/qq_36501591/article/details/86497280
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。