您的位置:首頁>正文

「Linux」PHP程式師玩轉Linux系列-自動備份與SVN

我的代碼經常在開發修改,為了代碼的安全性,比如哪天誤刪了檔,或者哪天改錯東西了,可以恢復回來,我要搞代碼備份.備份代碼,我先做最簡單的,使用linux的定時機制加shell命令打包檔,每天按日期保存,保存最近7天的備份.

前期準備的命令

date命令,列印當前系統時間,加個參數+%F,列印格式化的全日期, date +%F. 命令替換符`` ,獲取到裡面命令的返回值.

字串中使用變數${變數名},例如echo "hi ${name}"

打包命令tar -czf 包名稱 *, c是create創建, z是gzip壓縮,f是file使用檔形式, 例如: tar -czf 1.tar.gz * 把目前的目錄的所有檔打包到1.tar.gz中

解壓命令tar -xf 包名稱 , x是extract提取,例如: tar -xf 1.tar.gz

查找命令find / -mtime +10 -exec rm {} \; mtime是 modified time修改時間,單位是天, +10是10天以前;-exec是執行命令, -exec 命令 {} \;大括弧會被當前查找的結果替換,\是固定的轉義用的.例如: find /root -mtime +10 -exec wc -l {} \; 統計10天前檔的行數

最終的腳本

#!/bin/base #定義備份檔案路徑 backupFilePath="/root/web"; #定義備份檔案名稱 currentDate=`date +%F`; backupFileName="web_backup_${currentDate}.tar.gz"; #定義需要備份的目錄 sourceFileDir="/var/www/html/"; #定義備份檔案存儲的目錄 destinationDir="/root/web/" #打包備份 cd $sourceFileDir; tar -czf $backupFileName *; mv $backupFileName $destinationDir; #刪掉10天以前的文件 find $destinationDir -mtime +10 -exec rm {} \;

開啟定時

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示