返回列表 发帖

本地备份站点目录和数据库+crontab计划任务

笺注:这是在 LNMP一键安装包(lnmp_CentOS6.9) 的基础上进行的。


数据库的备份命令:
[root@localhost ~]# which mysqldump
/usr/bin/mysqldump


站点的目录:
[root@localhost ~]# cd /home/wwwroot/
[root@localhost wwwroot]# ls -lh
总用量 12K
drwxr-xr-x  18 www www 4.0K 6月  23 03:07 blog.zhuohua.store
drwxr-xr-x.  3 www www 4.0K 6月  23 02:23 default
drwxr-xr-x   5 www www 4.0K 6月  23 03:18 word.zhuohua.store


站点的数据库:
[root@localhost ~]# mysql -u"root" -p"888" -e "show databases;"
+--------------------+
| Database           |
+--------------------+
| information_schema |
| db1                |
| discuz             |
| mysql              |
| performance_schema |
| wordpress          |
+--------------------+




备份脚本backup.sh的内容:
[root@localhost ~]# vi backup.sh
#!/bin/bash

#指定备份文件存放的目录;假如目录不存在,则自动创建
Backup_Home="/home/backup/"
if [ ! -d ${Backup_Home} ]; then  
    mkdir -p ${Backup_Home}
fi


#指明数据库备份命令的位置:
MySQL_Dump="/usr/bin/mysqldump"

#指明备份数据库时用到的用户名和密码:
MYSQL_UserName='root'
MYSQL_PassWord='888'


#备份站点blog.zhuohua.store的目录:
Backup_time=`date +'%Y%m%d%H%M%S'` #格式:年月日时分秒
web1="blog.zhuohua.store"
cd /home/wwwroot/
tar -czvf ${Backup_Home}${web1}_${Backup_time}.tar.gz ${web1}

#备份站点blog.zhuohua.store的数据库:
MYSQL_Db1='discuz'
MYSQL_Db1_file=${Backup_Home}${web1}_db-$MYSQL_Db1-${Backup_time}.sql
${MySQL_Dump} -u$MYSQL_UserName -p$MYSQL_PassWord $MYSQL_Db1 > ${MYSQL_Db1_file}


######

#备份站点word.zhuohua.store的目录:
Backup_time=`date +'%Y%m%d%H%M%S'` #格式:年月日时分秒
web2="word.zhuohua.store"
cd /home/wwwroot/
tar -czvf ${Backup_Home}${web2}_${Backup_time}.tar.gz ${web2}

#备份站点word.zhuohua.store的数据库:
MYSQL_Db2='wordpress'
MYSQL_Db2_file=${Backup_Home}${web2}_db-$MYSQL_Db2-${Backup_time}.sql
${MySQL_Dump} -u$MYSQL_UserName -p$MYSQL_PassWord $MYSQL_Db2 > ${MYSQL_Db2_file}



备份脚本backup.sh的权限:
[root@localhost ~]# ll backup.sh
-rw-r--r-- 1 root root 1186 6月  23 03:23 backup.sh


手动运行备份脚本:
[root@localhost ~]# whoami
root
[root@localhost ~]# bash backup.sh


手动备份成功:
[root@localhost ~]# cd /home/backup/
[root@localhost backup]# ls -lh
总用量 13M
-rw-r--r-- 1 root root 3.9M 6月  23 03:53 blog.zhuohua.store_20200623035338.tar.gz
-rw-r--r-- 1 root root 337K 6月  23 03:53 blog.zhuohua.store_db-discuz-20200623035338.sql

-rw-r--r-- 1 root root 7.9M 6月  23 03:53 word.zhuohua.store_20200623035339.tar.gz
-rw-r--r-- 1 root root  41K 6月  23 03:53 word.zhuohua.store_db-wordpress-20200623035339.sql







######

还原站点blog.zhuohua.store:

删除旧的站点目录:
[root@localhost ~]# rm -rf /home/wwwroot/blog.zhuohua.store
rm: 无法删除"/home/wwwroot/blog.zhuohua.store/.user.ini": 不允许的操作

[root@localhost ~]# lsattr /home/wwwroot/blog.zhuohua.store/.user.ini
----i--------e- /home/wwwroot/blog.zhuohua.store/.user.ini

[root@localhost ~]# chattr -i /home/wwwroot/blog.zhuohua.store/.user.ini

[root@localhost ~]# lsattr /home/wwwroot/blog.zhuohua.store/.user.ini
-------------e- /home/wwwroot/blog.zhuohua.store/.user.ini


[root@localhost ~]# rm -rf /home/wwwroot/blog.zhuohua.store
[root@localhost ~]#


还原站点的目录:
[root@localhost ~]# cd /home/backup/
[root@localhost backup]# tar -zxf blog.zhuohua.store_20200623035338.tar.gz -C /home/wwwroot/


还原站点的数据库:
mysql> drop database discuz;
Query OK, 122 rows affected (0.01 sec)

mysql> create database discuz character set utf8 collate utf8_general_ci;
Query OK, 1 row affected (0.00 sec)

mysql> use discuz;
Database changed

mysql> source /home/backup/blog.zhuohua.store_db-discuz-20200623035338.sql



站点blog.zhuohua.store的数据库配置文件:
[root@localhost ~]# cd /home/wwwroot/blog.zhuohua.store/
[root@localhost blog.zhuohua.store]# ll config.inc.php
-rw-r--r-- 1 www www 4185 6月  23 03:45 config.inc.php

[root@localhost blog.zhuohua.store]# vi config.inc.php
图片1.png
2021-1-16 11:06




服务器本地查看数据库用户zhuohua@localhost的权限:
[root@localhost ~]# mysql -u"root" -p"888" -e "show grants for zhuohua@localhost;"
+-------------------------------------------------------------------------------------------------------------------------+
| Grants for zhuohua@localhost                                                                                            |
+-------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'zhuohua'@'localhost' IDENTIFIED BY PASSWORD '*E3C407F703EDA6AD6849CDDDA4AFD327EF7BC253' |
+-------------------------------------------------------------------------------------------------------------------------+

注释:数据库用户zhuohua@localhost的信息要与站点blog.zhuohua.store的数据库配置文件的信息一致。








######

还原站点word.zhuohua.store:

删除旧的站点目录:
[root@localhost ~]# rm -rf /home/wwwroot/word.zhuohua.store
rm: 无法删除"/home/wwwroot/word.zhuohua.store/.user.ini": 不允许的操作

[root@localhost ~]# lsattr /home/wwwroot/word.zhuohua.store/.user.ini
----i--------e- /home/wwwroot/word.zhuohua.st

[root@localhost ~]# chattr -i /home/wwwroot/word.zhuohua.store/.user.ini

[root@localhost ~]# lsattr /home/wwwroot/word.zhuohua.store/.user.ini
-------------e- /home/wwwroot/word.zhuohua.store/.user.ini


[root@localhost ~]# rm -rf /home/wwwroot/word.zhuohua.store
[root@localhost ~]#


还原站点的目录:
[root@localhost ~]# cd /home/backup/
[root@localhost backup]# tar -zxf word.zhuohua.store_20200623035339.tar.gz -C /home/wwwroot/


还原站点的数据库:
mysql> drop database wordpress;
Query OK, 12 rows affected (0.06 sec)

mysql> create database wordpress character set utf8 collate utf8_general_ci;
Query OK, 1 row affected (0.00 sec)

mysql> use wordpress;
Database changed

mysql> source /home/backup/word.zhuohua.store_db-wordpress-20200623035339.sql



站点word.zhuohua.store的数据库配置文件:
[root@localhost ~]# cd /home/wwwroot/word.zhuohua.store/
[root@localhost word.zhuohua.store]# ll wp-config.php
-rw-rw-rw- 1 www www 3203 6月  23 04:58 wp-config.php

[root@localhost word.zhuohua.store]# vi wp-config.php
图片2.png
2021-1-16 11:08




服务器本地查看数据库用户happy@localhost的权限:
[root@localhost ~]# mysql -u"root" -p"888" -e "show grants for happy@localhost;"
+--------------------------------------------------------------------------------------------------------------+
| Grants for happy@localhost                                                                                   |
+--------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'happy'@'localhost' IDENTIFIED BY PASSWORD '*398D8BD83BF246533D81FF0E614402C6505D0EED' |
| GRANT ALL PRIVILEGES ON `wordpress`.* TO 'happy'@'localhost'                                                 |
+--------------------------------------------------------------------------------------------------------------+

注释:数据库用户happy@localhost的信息要与站点word.zhuohua.store的数据库配置文件的信息一致。














######
######

crontab周期性计划任务的配置格式为:分、时、日、月、星期(1-7代表星期一至星期日)
- :表示一个连续的时间范围,如1-5,表示整数1、2、3、4、5
, :表示一个间隔的不连续时间范围,如3,7,9,表示整数3、7、9
/ :用来指定间隔频率,如“分”区块中的 */5 表示每隔5分钟



编辑crontab计划任务:(省略“-u”情况下,指的是当前系统用户)
[root@localhost ~]# crontab -e
-bash: crontab: command not found

解决方法:
[root@localhost ~]# yum -y install vixie-cron


[root@localhost ~]# which crontab
/usr/bin/crontab

[root@localhost ~]# service crond start
正在启动 crond:[确定]

确认进程crond在运行中:
[root@localhost ~]# ps aux |grep crond |grep -v grep
root      10562  0.0  0.0 116884  1256 ?        Ss   04:40   0:00 crond

确认开机自动运行进程crond:
[root@localhost ~]# chkconfig --list crond
crond           0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭



给系统用户root创建一个crontab计划任务:( 6月 21-25日5时50分自动运行备份脚本;用户登不登录,任务都会执行)
[root@localhost ~]# crontab -e
50 5 21-25 6 * bash /root/backup.sh


查看系统用户root的crontab计划任务:
[root@localhost ~]# whoami
root
[root@localhost ~]# crontab -l
50 5 21-25 6 * bash /root/backup.sh

[root@localhost ~]# crontab -l -u root
50 5 21-25 6 * bash /root/backup.sh


使用crontab计划任务备份出来的文件:
[root@localhost ~]# cd /home/backup/
[root@localhost backup]# ls -lh
总用量 13M
-rw-r--r-- 1 root root 3.9M 6月  23 05:50 blog.zhuohua.store_20200623055001.tar.gz
-rw-r--r-- 1 root root 337K 6月  23 05:50 blog.zhuohua.store_db-discuz-20200623055001.sql

-rw-r--r-- 1 root root 7.9M 6月  23 05:50 word.zhuohua.store_20200623055003.tar.gz
-rw-r--r-- 1 root root  41K 6月  23 05:50 word.zhuohua.store_db-wordpress-20200623055003.sql







######

把目录/home/backup/里10天前创建的后缀为.tar.gz的文件删除:
[root@localhost ~]# find /home/backup/ -name "*tar.gz" -a -mtime +9 | xargs rm -rf

把目录/home/backup/里10天前创建的后缀为.sql的文件删除:
[root@localhost ~]# find /home/backup/ -name "*.sql" -a -mtime +9 | xargs rm -rf



使用脚本,把目录/home/backup/里3天前创建的指定类型的文件删除:(即只保留3天的文件)
[root@localhost ~]# cat del.sh
#!/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin

find /home/backup -name "*.tar.gz" -a -mtime +2 | xargs rm -rf
find /home/backup -name "*.sql" -a -mtime +2 | xargs rm -rf



脚本del.sh的权限:
[root@localhost ~]# ll del.sh
-rw-r--r-- 1 root root 3 6月  23 03:27 del.sh


再给系统用户root创建一个crontab计划任务:( 3、6、8月的 21-25日10时05分自动运行删除脚本;用户登不登录,任务都会执行)
[root@localhost ~]# crontab -e -u root
追加:
5 10 21-25 3,6,8 * bash /root/del.sh

效果:
[root@localhost ~]# crontab -l -u root
50 5 21-25 6 * bash /root/backup.sh
5 10 21-25 3,6,8 * bash /root/del.sh






使用计划任务自动重启服务器:(星期日的2时8分重启服务器)
[root@localhost ~]# crontab -e -u root
追加:
8 2 * * 7 /sbin/init 6

效果:
[root@localhost ~]# crontab -l -u root
50 5 21-25 6 * bash /root/backup.sh
5 10 21-25 3,6,8 * bash /root/del.sh
8 2 * * 7 /sbin/init 6






相关文章:
远程备份站点目录和数据库+at一次性计划任务

CentOS6使用Python3脚本备份站点(Zabbix)+crontab计划任务
CentOS6使用tcping+crontab计划任务
Oracle11gR2的备份与还原

CentOS8使用计划任务
CentOS8_在Docker中安装vsftpd
CentOS8_在Docker中安装PureFTPd
CentOS8_在Docker中安装Samba

Linux下MySQL的备份和还原
Linux客户端使用lftp命令连接FTP服务端

使用Shell脚本监控本机的CPU、内存、分区的使用率
使用Shell脚本监控本机的服务运行状态

切割Nginx的日志文件
Nginx的并发连接数

vsftpd用户验证(二)
CentOS8基本命令

Windows2008R2_UPUPW_网站的备份和还原





#################################
#################################
亲,学习研究也要劳逸结合哦,来我微店逛逛,买点东西好好犒劳犒劳自己和家人吧^_^^_^

肉食注意|豪气鸭掌;包邮【七猩猩】 豪气鸭掌8只盒装共176g/元气鸭翅5只袋装共210g
yazhua.png
2019-10-4 10:15


包邮【七猩猩_大大大礼包_五福临门】坚果休闲零食7袋大礼盒 1459g,专属大大,大大大礼包五福临门,七款坚果共7包美味组合
libao.png
2019-10-4 10:15


FaSoLa夏季厚底情侣儿童洗澡防滑漏水浴室拖鞋居家凉拖鞋轻便柔软
tuoxie.png
2019-10-4 10:15


薇语馨8072女装春季新款文艺修身拼色立领绣花连衣裙中长裙
baiyi.png
2019-10-4 10:15


薇语馨1313深V性感女装紧身包臀透纱夜店裙无袖打底网纱连衣裙
heiyi.png
2019-10-4 10:15

返回列表