1. 程式人生 > >[linux shell] 使用shell每天定時拷貝檔案到新的檔名下,並刪除30天之前的檔案

[linux shell] 使用shell每天定時拷貝檔案到新的檔名下,並刪除30天之前的檔案

1,使用vi編輯器,編寫如下內容並儲存為cpGpsData.sh

echo "******************************************************************"
echo "copy GpsData to /home/public/GpsData/ and delete 7 day's ago file"
if [ ! -d "/home/public/GpsData" ]
then
 mkdir -p /home/public/GpsData
fi
#del 7 days ago's GpsData
oldday=`date +%Y%m%d -d "7 days ago"` ##old file date
#echo $oldday
find /home/public/GpsData/ -name "GpsData_*" -mtime +7  -exec rm {} \;  


# copy /home/public/App/ShareFile/GpsData/GpsData to /home/public/GpsData/
today=`date +%Y%m%d`
#echo $today
if [ -e "/home/public/App/ShareFile/GpsData/GpsData" ]
then
    cp /home/public/App/ShareFile/GpsData/GpsData /home/public/GpsData/GpsData_$today
else
    echo "/home/public/App/ShareFile/GpsData/GpsData file does not exist!"
fi
echo "*******************************************************************"


2,將cpGpsData.sh檔案修改為可執行的模式:chmod +x cpGpsData.sh

3,每天定時執行,進入root使用者:

        3.1 輸入:crontab -e

        3.2 輸入:52 09 * * * /home/public/GpsData/./cpGpsData.sh

上面這句話的意思是 每天的9點52分定時執行 /home/public/GpsData/下的cpGpsData.sh指令碼檔案

以上操作完畢,將實現每天定時拷貝GpsData檔案到新的檔名下,並刪除30天以前的檔案