`

使用cron对工程进行备份的脚本

阅读更多
     以前也写过一些,在晚上跑的处理数据,比如清理日志,汇总和整理数据值。下面是同样的一段script用来处理redmine的备份的

# Take care about folders structure for the usual script workflow:
# /home/demo/backup/
# /home/demo/backup/redmine_folder/
# /home/demo/backup/redmine_folder/script.sh - the following script should be landing here
# /home/demo/backup/redmine_folder/files
# /home/demo/public_html/
# /home/demo/public_html/redmine_folder
#
# crontab -e -u demo
# 0 20 * * * /home/demo/backup/redmine_folder/script.sh


# ---BACKUP SCRIPT---

#!/bin/sh
folder=redmine_folder
db=redmine_production

# Change directory and remove files older than 30days
cd ~/backup/$folder/files
find . -mtime +30 |xargs rm

# Database
file01=$folder.db_$(date +"%Y_%m_%d_%H-%M")
mysqldump -u user_name -pmy_sycret_password --single-transaction $db | gzip -c > $file01.gz

# App
file02=$folder.app_$(date +"%Y_%m_%d_%H-%M")
tar czf ~/backup/$folder/files/$file02.tgz ~/public_html/$folder > /dev/null

# S3 sync
ruby ~/backup/s3sync/s3cmd.rb put s3bucket:backup/$folder/db/$file01.gz $file01.gz
ruby ~/backup/s3sync/s3cmd.rb put s3bucket:backup/$folder/app/$file02.tgz $file02.tgz

# ---BACKUP SCRIPT---

分享到:
评论

相关推荐

    java quartz计划任务中间件使用教程,每天定时备份数据库的插件jspweb java网站工程.rar

    - **JDBC操作**:使用JDBC API或者ORM框架(如Hibernate、MyBatis)来连接数据库,执行备份脚本。通常包括创建备份文件、导出数据到文件等步骤。 - **备份策略**:可以考虑全量备份和增量备份。全量备份是每次备份...

    python实现交换机配置自动备份

    - **定时任务**:结合cron或其他定时任务工具,定期执行备份脚本,确保配置始终是最新的。 综上所述,Python在实现网络设备配置备份的自动化方面具有显著优势,不仅可以提高工作效率,还能降低人为错误的风险。通过...

    Shell运维相关知识

    - **备份与恢复**:创建脚本执行数据备份,并在需要时进行恢复操作。 - **定时任务**:配合`cron`服务,设置定时执行的脚本,如定期清理无用文件,发送报告邮件等。 4. **学习资源** - 《shell脚本从入门到精通-...

    python自动化运维

    3. **自动化任务**:通过Python可以实现自动备份、日志分析、性能监控、系统状态检查、定时任务(如cron jobs)等。例如,使用schedule库可以创建定时任务,使用loguru进行日志记录,使用requests库进行HTTP请求,对...

    备份管理器:不定期服务的通用备份机器人

    通过集成到Discord平台,此机器人可以为用户提供便捷的服务,帮助他们轻松地对服务器聊天记录、设置、用户信息等关键数据进行备份。不定期服务意味着用户可以根据自身需求定制备份频率,无论是每天、每周还是按需...

    网络工程师PPT学习教案.pptx

    【网络工程师PPT学习教案】主要涵盖了Linux系统管理的相关知识点,包括系统启动过程、运行级别、进程管理、日志管理、任务的周期性执行以及文件的归档与备份。以下是这些知识点的详细说明: 1. **系统启动过程**:...

    tbSchedule工程和实战项目

    **tbSchedule工程与实战项目详解** `tbSchedule`是一个基于Java开发的任务调度框架,它为开发者提供了一种灵活、高效的方式来管理和执行定时任务。在本文中,我们将深入探讨`tbSchedule`的核心特性、架构设计以及...

    linux初学者

    - 使用`find`命令结合`tar`命令可以实现对最近修改过的文件进行归档打包。 ```bash find . -mtime -1 -type f -print | tar -zcvf lastmod.tar.gz - ``` - **数据过滤与处理**: - 结合使用`grep`、`awk`和`...

    alx-system_engineering-devops

    4. **自动化任务**:通过定时任务工具如Cron,可以安排Shell脚本在特定时间自动运行,例如定期备份、日志清理、监控等。 5. **错误处理和调试**:了解如何捕获和处理错误(如`set -e`来使脚本在遇到错误时停止执行...

    holberton-system_engineering-devops:具有shell,权限的工程开发人员

    在日常工作中,具备Shell脚本技能的工程开发人员能够更高效地自动化日常运维任务,如备份、系统升级、性能调优等。他们可以编写脚本来自动化复杂流程,减少人为错误,提高效率。 **学习资源** 学习Shell脚本和权限...

    循序渐进UNIX教程

    3. **文件管理**:深入讨论Unix的文件系统结构,文件权限与所有权,软链接和硬链接的区别,以及如何进行文件和目录的备份与恢复。 4. **进程管理**:涵盖进程的概念、创建和控制,如ps、kill、nohup等命令,以及...

    holberton-system_engineering-devops:为Shell创建,基础项目

    在这个名为"holberton-system_engineering-devops:为Shell创建,基础项目"的资源中,我们很显然会探讨如何使用Shell脚本来进行系统工程和DevOps实践。 首先,让我们深入理解Shell编程的基础。Shell脚本是由一系列...

    Suse 基本教學使用手冊

    - **磁盘配额管理**:限制用户或组对磁盘空间的使用量。 - **文件搜索**:查找文件或目录的方法。 #### Linux 开机流程与 Boot Loader - **Linux 开机流程**:从启动加载器加载内核到系统初始化的过程。 - **Boot ...

    WinSCP.zip

    - **自动化工作流**:结合其他工具如cron定时任务,实现定期备份、更新等自动化工作。 总之,WinSCP作为一款强大的Linux文件上传工具,以其丰富的功能和易用性深受用户喜爱,无论是个人还是企业,都能通过它高效、...

    使用Python设置tmpfs来加速项目的教程

    对我当前工程进行全部测试需要花费不少时间。既然有 26 GB 空闲内存,为何不让其发挥余热呢? tmpfs 可以通过把文件系统保存在大内存中来加速测试的执行效率。 但优点也是缺点,tmpfs 只把结果保存在内存中,所以你...

    holberton-system_engineering-devops

    6. **自动化任务**:创建定时任务(如使用`cron`)来定期执行脚本,进行备份、日志清理等。 7. **版本控制**:使用Git进行版本管理,理解分支、合并和冲突解决。 8. **与其他工具集成**:例如,使用Docker容器化...

    RHCE复习重点

    - 延迟任务与定时任务:掌握使用`at`, `cron`等工具设定延迟任务和定时任务。 **4. 分区原理与定制** - 基本分区原理:理解MBR与GPT分区表的区别。 - 分区定制:根据实际需求定制分区方案。 **5. 存储技术** - ...

    MVUB_0502_C1_ORACLE数据库培训教材

    - **Unix环境下实现自动备份**:利用cron定时任务,自动化执行备份脚本,减少人工干预,提高备份效率。 通过上述内容的详细介绍,我们不仅对Oracle数据库的基础知识有了全面的理解,同时也掌握了其高级管理和操作...

Global site tag (gtag.js) - Google Analytics