需求大概是:将特定目录内的文件打包,并删除七天以前的文件。

常用于文件备份。

以下是我写的一个小脚本,拿出来晒晒。。

  1. #!/bin/bash  
  2. #By 小崔  
  3. #QQ:295749093  
  4. for server_d in `ls /data/|grep '^server_[0-9]\{1,3\}$'`  
  5. do  
  6.         if [ -d "/data/$server_d/lszm/server/game_server/backup" ]  
  7.         then 
  8.             for server_f in `ls /data/$server_d/lszm/server/game_server/backup/zyback_* | grep -v '.gz' | grep -v grep`  
  9.             do  
  10.                 find /data/$server_d/lszm/server/game_server/backup/ -name "*.gz" -ctime +7 | xargs rm -f  
  11.                 gzip -f $server_f -S _$server_d.gz   
  12.             done  
  13.         fi  
  14. done