linux 服务器自动备份脚本的方法(mysql、附件备份)
程序员文章站
2022-06-08 09:22:48
一、创建backup.sh脚本文件
#!/bin/sh
source_folder=/data
db_folder=/data/db
backup_folder=/da...
一、创建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、附件备份),希望对大家有所帮助