iT邦幫忙

0

關於Linux Script 迴圈問題 (問題已自行解決)

  • 分享至 

  • xImage
#=====================log壓縮=======================
#!/bin/bash

for((i=1;i<20;i++))
do

date="$(date -d  '$i days ago' +"%Y-%m-%d")"

#echo $date
sfs_dir=/etc/SmartFoxServer_2X/SFS2X/logs

cd /etc/SmartFoxServer_2X/SFS2X/logs

 mkdir smartfox.log.${date}

 gzip smartfox.log.${date}-*

  mv $sfs_dir/*.${date}-* $sfs_dir/smartfox.log.${date}/

done

這是小弟用來壓縮log的腳本,本來天數不多,因此都是設定前一天參數,然後設定排程下去跑

date="$(date -d '1 days ago' +"%Y-%m-%d")"

但是現在需要加入迴圈,讓過去好幾個月的資料下去跑壓縮

因此有google了一下,但 "$i"的部分,能抓到參數,但不完整

因此執行的時候

後面 {date} 會抓不到參數

小弟還滿身菜味,希望有大神出來指點指點/images/emoticon/emoticon41.gif

建議改用PYTHON,至少腳本比bash更有可讀性且好編寫

你的腳本可以不要用貼圖的嗎?很難回答,都要重打一次
踏雪尋梅 iT邦研究生 5 級 ‧ 2019-08-07 10:51:26 檢舉
不好意思,已將貼圖換掉了
踏雪尋梅 iT邦研究生 5 級 ‧ 2019-08-07 13:48:45 檢舉
date="$(date -d "$i days ago" +"%Y-%m-%d")"
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答