自动备份Moodle站点和数据库

debian系统下备份要求:每天凌晨3:00自动备份Moodle站点的moodledata、moodle文件夹以及数据库。

步骤:

1.在usr/bin/下新建shell脚本文件moodle-backup.sh

2.将moodle-backup.sh文件权限设置为可执行0755

3.脚本内容如下:

#!/bin/sh
username=”root” #具有Moodle数据库备份权限的MySQL用户名
password=”76286161″ #相应的MySQL用户密码
servername=”localhost” #MySQL服务器名
time=$(date +”%Y-%m-%d-%H-%M”) #取得当前日期并保存在变量中
nginx -s stop #快速停止nginx
/usr/bin/mysqldump -h$servername -u$username -p$password moodle > /usr/moodle_backup/moodle-database$time.sql #备份Moodle数据库
tar -zcvf /usr/moodle_backup/moodledata$time.tar.gz /www/moodledata/ #备份并压缩moodledata文件夹
find /usr/moodle_backup -name “moodle-database*.sql” -type f -mtime +5 -exec rm {} \; > /dev/null 2>&1#查找五天前的文件并删除
find /usr/moodle_backup -name “moodledata*.tar.gz” -type f -mtime +5 -exec rm {} \; > /dev/null 2>&1#查找五天前的文件并删除
/etc/init.d/nginx start #开启nginx服务

sh文件下载:moodle-backup

4.让该文件自动每天按计划执行:用trantab服务

命令:
cd /etc/
crontab -e
光标移动最后插入:00 3 * * * /usr/bin/moodle-backup.sh > /dev/null 2>&1  #每天3:00执行sh文件
ctrl+o保存
ctrl+x退出

 

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注