linux 服务器自动备份脚本的方法(mysql、附件备份)

 更新时间:2020年01月15日 13:05:24   作者:傻瓜程序员  
这篇文章主要介绍了linux 服务器自动备份脚本(mysql、附件备份),本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

一、创建backup.sh脚本文件

#!/bin/sh
SOURCE_FOLDER=/data
DB_FOLDER=/data/db
BACKUP_FOLDER=/data/backup
TM=`date +%Y%m%d%H%M%S`
echo start to dump mysql database and backup files at $TM
# delete old sql backup files
cd $DB_FOLDER
rm -rf $DB_FOLDER/*.sql
#dump mysql data
/usr/bin/mysqldump -h127.0.0.1 -uroot -pcz_pims@2018 --single-transaction --master-data=2 --databases ms > ms-$TM.sql
echo dump db pims_hf as pims_hf-$TM.sql
/usr/bin/mysqldump -h127.0.0.1 -uroot -ppass --single-transaction --master-data=2 --databases ms_workflow > pims_hf_workflow-$TM.sql
echo dump db ms_workflow as pims_hf_workflow-$TM.sql
/usr/bin/mysqldump -h127.0.0.1 -uroot -ppass --single-transaction --master-data=2 --databases files > files-$TM.sql
echo dump db filesrv as files-$TM.sql
# delete backup files which 30 days before than today
find $BACKUP_FOLDER/* -type f -mtime +30 -name "*.zip" -exec rm {} \;
# compress
cd $SOURCE_FOLDER
zip -q -r $BACKUP_FOLDER/db-$TM.zip db
zip -q -r $BACKUP_FOLDER/files-new.zip files
echo zip $SOURCE_FOLDER files and backup to $BACKUP_FOLDER end
# 调用系统方式 send notice msg to 钉钉通知
curl -X POST -d "templateCode=003&content=文件备份成功,备份文件保存到此目录: $BACKUP_FOLDER" http://127.0.0.1:8080/admin/do/notify/dingding
echo -e end backup files at $TM '\n\n\n'

二、创建定时任务

1)、在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。
2)、直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务。

crontab文件格式:

  *           *        *        *        *           command

minute   hour    day   month   week      command

分          时        天      月        星期      命令

例如:每周每月每天1点0分执行备份脚本,日志放在backup.log文件中

0 1 * * * /bin/sh /home/script/backup.sh >> /home/script/backup.log 2>&1

若测试脚本是否正常运行,可以手动执行测试

3)、查询当前用户定时任务。

总结

以上所述是小编给大家介绍的linux 服务器自动备份脚本的方法(mysql、附件备份),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • 清除指定squid缓存文件的脚本代码分享

    清除指定squid缓存文件的脚本代码分享

    Squid web缓存加速软件目前已经是新浪、搜狐、网易等各大网站广泛应用。Squid会在设置的缓存目录下建立多个目录,每一个目录下又建立多个目录,然后才在最里层的目录中存放缓存文件(object)
    2012-02-02
  • ubuntu中编写shell脚本开机自动启动(推荐)

    ubuntu中编写shell脚本开机自动启动(推荐)

    这篇文章主要介绍了ubuntu中编写shell脚本开机自动启动,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • CentOS 6.8 安装vsftpd的方法步骤

    CentOS 6.8 安装vsftpd的方法步骤

    这篇文章主要介绍了CentOS 6.8 安装vsftpd的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • linux系统虚拟主机开启支持Swoole Loader扩展的方法

    linux系统虚拟主机开启支持Swoole Loader扩展的方法

    这篇文章主要介绍了linux系统虚拟主机开启支持Swoole Loader扩展的方法,需要的朋友可以参考下
    2020-12-12
  • linux下的yum命令原理和详解

    linux下的yum命令原理和详解

    本文主要介绍linux下的yum命令原理和详解,讲解的比较全面,需要的朋友可以参考一下。
    2016-06-06
  • Linux CentOS7 vim寄存器解读

    Linux CentOS7 vim寄存器解读

    这篇文章主要介绍了Linux CentOS7 vim寄存器使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • 安装CentOS 6.x报错

    安装CentOS 6.x报错"Disk sda contains BIOS RAID metadata"解决方法

    今天在安装CentOS6.2的时候,当进到检测硬盘的时候,总是过不去,报错如下: Disk sda contains BIOS RAID metadata, but is not part of any recognized BIOS RAID sets. Ignoring disk sda,真是不知如何解决,下面小编把我的思路分享到脚本之家平台,需要的朋友参考下
    2019-11-11
  • linux中gdb的入门使用教程

    linux中gdb的入门使用教程

    这篇文章主要给大家介绍了关于linux中gdb的入门使用的相关资料。文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • 在windows上如何将本地文件上传至Linux服务器

    在windows上如何将本地文件上传至Linux服务器

    这篇文章主要介绍了在windows上如何将本地文件上传至Linux服务器问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • 利用win10自带虚拟机hyper-v安装centos7方法详解

    利用win10自带虚拟机hyper-v安装centos7方法详解

    利用VMware安装CentOS系统相信大家都比较熟悉了,今天为大家介绍一下利用Win10自带的虚拟机hyper-v来安装CentOS,hyper-v与VMware的区别还是挺大的
    2018-10-10

最新评论