Shell Script For Backup Folder

简介:

Recently, our team file server need to auto backup, so I write this script to back via contab.

This script is very easy, I just want save it for review later.

If it can help you, I will happy.

 
 
  1. #!/bin/sh 
  2. log_path=/tmp 
  3. echo ===========Start-date=================  >> $log_path/backup.log 
  4. date                                   >> $log_path/backup.log 
  5. source_path=/tmp/liangtest/shell 
  6. folder_name=bk 
  7. target_path=/tmp/liangtest/shell2 
  8. bakup_date=`date "+%Y_%-m_%-d_%H_%M"` 
  9. echo "Backup Date ${bakup_date}"                           >>$log_path/backup.log 
  10. mkdir $target_path/${folder_name}_$bakup_date                 >>$log_path/backup.log 
  11. cp $source_path/$folder_name/*  $target_path/${folder_name}_$bakup_date 
  12. sleep 5 
  13. source_size=`du -sm $source_path/$folder_name` 
  14. target_size=`du -sm $target_path/${folder_name}_$bakup_date` 
  15. echo "source_size ${source_size}"                           >>$log_path/backup.log 
  16. echo "target_size ${target_size}"                           >>$log_path/backup.log 
  17. so=`echo $target_size|awk '{print $1;}'` 
  18. ta=`echo $target_size|awk '{print $1;}'` 
  19. if [ $so -eq  $ta ]; then 
  20.         echo "Backup Done" $bakup_date                  >>$log_path/backup.log 
  21. else 
  22.         echo "Backup Failure!!!!"                          >>$log_path/backup.log 
  23. fi 
  24. ####Starting Compress#### 
  25. echo ==========Starting Compress============    >> $log_path/backup.log 
  26. date                                        >> /tmp/backup.log 
  27. if 
  28. cd $target_path/${folder_name}_$bakup_date 
  29. tar -cvzf $target_path/${folder_name}_Compressed_$bakup_date  * 
  30. then 
  31. cd $target_path 
  32. rm -rf  $target_path/${folder_name}_$bakup_date 
  33. echo "Backup Done,Delete folder Success!!!"  $bakup_date    >>$log_path/backup.log 
  34. else 
  35. echo "Compress Failure!!!!"                                  >>$log_path/backup.log 
  36. fi 
  37. echo ===========End-date=================    >> $log_path/backup.log 
  38. date                                                      >> $log_path/backup.log 

The output for log as below

 
 
  1. ===========Start-date================= 
  2. Sun Jul 15 14:42:23 CST 2012 
  3. Backup Date 2012_7_15_14_42 
  4. source_size 2   /tmp/liangtest/shell/bk 
  5. target_size 2   /tmp/liangtest/shell2/bk_2012_7_15_14_42 
  6. Backup Done 2012_7_15_14_42 
  7. ===========Starting Compress=========== 
  8. Sun Jul 15 14:42:33 CST 2012 
  9. Backup Done,Delete folder Success!!! 2012_7_15_14_42 
  10. ===========End-date==================== 
  11. Sun Jul 15 14:42:33 CST 2012 









本文转自 hsbxxl 51CTO博客,原文链接:http://blog.51cto.com/hsbxxl/931593,如需转载请自行联系原作者

目录
相关文章
|
7月前
|
Shell 开发工具
学习简单的shell script
【1月更文挑战第3天】学习简单的shell script。
113 3
|
Shell Android开发 C++
利用Wrap Shell Script定位Android Native内存泄漏
## 前提条件 - Android版本为8.0以上 ## 环境配置 - cd到/src/main目录下,新建shell目录,同时shell目录下配置与libs目录下相同平台的目录,如下app下的层级结构,可看到shell/lib下具有与libs下相同的平台目录结构 ```c ── AndroidManifest.xml ├── java ├── libs │   ├── a
3610 0
|
7月前
|
Shell 开发工具
编写与执行一个shell script
【1月更文挑战第3天】编写与执行一个shell script。
140 1
|
JavaScript 前端开发 关系型数据库
Shell script + crontab实现Mysql定时备份
Shell script + crontab实现Mysql定时备份
128 0
Shell script + crontab实现Mysql定时备份
|
Shell
12.3.3 Shell script 的默认变量($0, $1...)
12.3.3 Shell script 的默认变量($0, $1...)
85 0
|
JavaScript 前端开发 Shell
Shell 和 Shell 脚本 (Shell Script)
Shell 和 Shell 脚本 (Shell Script)
|
Oracle 关系型数据库 Linux
Oracle Linux: Shell Script to Calculate Values Recommended Linux HugePages / HugeTLB Configuration (Doc ID 401749.1)
Oracle Linux: Shell Script to Calculate Values Recommended Linux HugePages / HugeTLB Configuration (Doc ID 401749.1)
221 0
|
Shell
shell script快速入门-基础语法
shell script快速入门-基础语法
133 0