博客资料的自动备份

Zss 发表于:

通过插件每天生成一份备份,但是因为128K/B的下载速度实在是难以忍受,所以在自己搭建的服务器上通过脚本获取最新的备份自动下载

 

linux删除5日之前的文件

find /home/myblogbak -type f -name ‘*.tar’ -mtime +5 -exec rm -f {} \;

包括文件夹的话加上-r参数,’*.tar’ 文件名类型,位置为/home/myblogbak

find /home/lifeccp/dicom/studies -mtime +21 -name “*.*” -exec rm -Rf {} \;

  • /home/lifeccp/dicom/studies :准备要进行清理的任意目录
  • -mtime:标准语句写法
  • +10:查找10天前的文件,这里用数字代表天数,+30表示查找30天前的文件
  • “*.*”:希望查找的数据类型,”*.jpg”表示查找扩展名为jpg的所有文件,”*”表示查找所有文件
  • -exec:固定写法
  • rm -rf:强制删除文件,包括目录
  •  {} \; :固定写法,一对大括号+空格+/+;

 

保存最新的5份

#! /bin/sh
function make_file()
{  
   #获取最新的备份文件名称
   sshpass -p ${server_password} ssh ${server_name}@${server_ip} -o StrictHostKeyChecking=no <<DOC
   cd ${src_bak_path};ls -t|grep 'backwpup'|awk 'NR==1' > list.txt 
   `exit`
DOC
}

function get_file()
{  
   #下载最新的备份文件
   sshpass -p ${server_password} scp ${server_name}@${server_ip}:${src_bak_path}/list.txt ${dst_bak_path} &
   sleep 1
   file_name=`cat ${dst_bak_path}/list.txt`
   sshpass -p ${server_password} scp ${server_name}@${server_ip}:${src_bak_path}/${file_name} ${dst_bak_path} &
}

function remove()
{
   #删除文件 5天前的备份文件
   find /home/myblogbak -type f -name '*.tar' -mtime +5 -exec rm -f {} \;
}


server_ip="47.106.117.x"
server_name="root"
server_password="...."
src_bak_path="/home/wwwroot/default/wp-content/uploads/backwpup-572a85-backups"
dst_bak_path="/home/myblogbak"
make_file
get_file
remove