- 論壇徽章:
- 0
|
本帖最后由 sxtywyg 于 2012-06-20 14:48 編輯
personball 發(fā)表于 2012-06-20 14:27 ![]()
回復(fù) 1# sxtywyg
謝謝
再詳細(xì)描述一下我的需求:
我現(xiàn)在制作了一個菜單化腳本,要獲取日志,日志目錄下存在大量的日志文件,我想通過獲取某個時間段,來自動化獲取日志并FTP,下面是部分代碼
echo -e -n "\t請選擇 [1,Q]>"
read choice2
case $choice2 in
1) while :
do
echo -e "\t請輸入所需日志起始時間:<YYYY-MM-DD HH:MM>"
read date1
if [[ "$date1" != [0-9]{4}-[0-9]{1,2}-[0-9]{1,2}\ [0-9]{2}:[0-9]{2} ]]; (這個就沒起作用)
then
read date1 (無論輸入什么日期,都返回"請輸入所需日志起始時間",無法執(zhí)行下面的代碼)
else
touch -d "$date1" /root/file1
fi
done
while :
do
echo -e "\t請輸入所需日志結(jié)束時間:<YYYY-MM-DD HH:MM>"
read date2
if [[ "$date2" != [0-9]\{4}-[0-9]{1,2}-[0-9]{1,2}\ [0-9]{2}:[0-9]{2} ]];
then
read date2
else
touch -d "$date2" /root/file2
fi
done
find /root -newer file1 -a ! -newer file2 -a -type f -print | xargs ls -alt | grep -v ^d
while :
do
echo -e -n "\t請選擇需要的日志:"
read log
cd /root
if [ -f $log ];then
cp $log /tmp/bak
cd /tmp/bak
tar -cvf bak.tar /tmp/bak/*
rm -rf $log
get_myserver_nohup.out (這個是定義可以FTP的函數(shù))
echo -e "\t上傳成功\n"
exit 0
else
echo -e "\tFault Choice"
fi
done
;;
我上面開始提問的腳本,是我單獨(dú)想實(shí)現(xiàn)我描述的兩個功能,
如果按照你說的,使用date -d格式化輸出日期的話,是不是會有問題?我的理由是:
find /root -newer file1 -a ! -newer file2 -a -type f -print | xargs ls -alt | grep -v ^d
這個發(fā)現(xiàn)的日志是按照系統(tǒng)格式的時間輸出,模式的時間格式好象是YYYY-MM-DD HH:MM:SS (不過我這里不需要秒了,有分鐘就足夠了) |
|