常用的shell(备份数据库、备份网站、切割访问日志)

备份网站程序

#!/bin/bash
/bin/tar czf /mnt/backup_website/web_$(date +%Y%m%d_%H%M%S).gz.tar /mnt/wwwroot/web
cd /mnt/backup_website
find . -mtime +1 -name "*20[1-9][3-9]*" | xargs rm -f
exit 0

备份数据库

#!/bin/bash
/bin/tar czf /mnt/backup_website/newjiagu_$(date +%Y%m%d_%H%M%S).gz.tar /mnt/wwwroot/newjiagu
cd /mnt/backup_website
find . -mtime +1 -name "*20[1-9][3-9]*" | xargs rm -f
exit 0
[[email protected] shell]# cat backup_database.sh
#!/bin/bash
mysqldump -uroot -proot web > /home/database/web_$(date +%Y%m%d_%H%M%S).sql
cd /home/database
find . -mtime +7 -name "*20[1-9][3-9]*" | xargs rm -f
exit 0

切割日志

#!/bin/bash
LOGS_PATH=/home/wwwlogs
YESTERDAY=$(date -d "yesterday" +%Y%m%d)
mv ${LOGS_PATH}/access.log ${LOGS_PATH}/${YESTERDAY}.log
kill -USR1 `ps axu | grep "nginx: master process" | grep -v grep | awk ‘{print $2}‘`
cd ${LOGS_PATH}
find . -mtime +7 -name "*20[1-9][3-9]*" | xargs rm -f

exit 0
时间: 2024-10-13 22:31:31

常用的shell(备份数据库、备份网站、切割访问日志)的相关文章

mysql用户管理, 常用sql语句,mysql数据库备份恢复

mysql用户管理 新创建一个指定IP的用户,可以访问mysql的某些库某些表. 所有库的所有表,如果想指定访问某个库某些表,只需要修改名称user1 指定用户名br/>@后面的ip是指定ip,%表示所有的ipindentified by 后面是用户的密码验证用用户user1登录也可以指定localhost,登录时不输入本机ip地址即可访问查看授权,用于授权给新用户,新权限: 常用sql 语句 查看库表的行数搜索:select count() from mysql.user;搜索:select

使用宝塔面板如何自动备份数据库和网站代码

本篇文章来自于某框架的知名苦工仙士可的提问,你是怎么定时备份数据库的? 基础操作是:宝塔自带的定时任务当中就有备份数据库和网站代码啊  然后就直接选择了备份到服务器磁盘 把备份文件放在服务器上也是不太保险,万一那一天突然宕机,服务器磁盘坏掉了,那么应该如何存储备份文件? 每天手动下载一份备份文件到本地?不不不,这个方法还需要人工去下载备份文件到本地保存,实在不太方便 既然使用了宝塔面板,宝塔的软件商店中有很多的插件,而且我们能用到的都是官方出品的免费的,包含了又拍云存储.FTP 存储空间.阿里云

MySQL(用户管理,常用sql语句,数据库备份恢复,MySQL调优,恢复误操作数据)

一.MySQL用户管理. 一个MySQL数据库里可以跑多个库,总不能给所有人的程序员root用户,则可以给他们单独的用户访问数据库. 创建用户:(grant all on *.* to 'user1'是把所有库的权限给'user1,他的来源Ip是127.0.0.1,他的密码是lty123456') (第一个*是库名,如果你写成mysql.*那就是对mysql库的所有权限) (来源ip也可以写成 % ,表示来源的所有ip) (grant这种语句是不会记录到命令历史里去的,因为不安全.) mysql

MySQL用户管理、常用sql语句、数据库备份

13.4 MySQL用户管理 创建用户并授权 指定登录IP [[email protected] ~]# mysql -uroot -pEnter password: Welcome to the MySQL monitor.mysql> grant all on . to 'user1'@'127.0.0.1' identified by '123456';#创建user1用户并授予其所有权限"."(通配符)#第一个表示db_name:第二个表示tb_name#同时指定其来源I

MySQL用户管理、常用sql语句、数据库备份恢复

MySQL用户管理 MySQL分为普通用户与root用户.这两种用户的权限不一样.新建普通用户在MySQL数据库中,建立用户有3种方式:使用CREATE USER语句来创建新的用户:直接在mysql.user表中INSERT用户:使用GRANT语句来新建用户: grant命令grant all on *.* to 'user1'@'192.168.71.131' identified by '123456'; all 表示所有的权限. 表示所有的库,前面的表示库名,后面的表示所有的表'user1

压缩备份数据库与网站数据(mysql不停止的方法)简易实用BAT

@echo off::Author: jerry::Date:2018-11-20echo.echo MySQL数据库及网站程序备份脚本echo echo Author: jerryecho Date:2018-11-20echo 备份日期:%date%echo 备份时间:%time%echo.echo set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"set bakdir="D:\Program Files\MySQL51\data&quo

nginx自动切割访问日志方法一

Web 访问日志 (access_log) 记录了所有外部客户端对Web服务器的访问行为,包含了客户端IP,访问日期,访问的URL资源,服务器返回的HTTP状态码等重要信息.一条典型的Web访问日志如下: 112.97.37.90 - - [14/Sep/2013:14:37:39 +0800] "GET / HTTP/1.1" 301 5 "-" "Mozilla/5.0 (Linux; U; Android 2.3.6; zh-cn; Lenovo A

nginx自动切割访问日志方法二

由于nginx的日志本身只是支持按照server_name或者大小进行划分,对于习惯了apache的按照一个网站每天一个日志的我来说是不可以接受的,于是从网上找了几个nginx按天分割的方法发现都是互相抄袭的,特别是里面有一个命令是kill -9 `cat nginx.pid`,需要杀掉nginx子进程,我觉得不靠谱. 我忽然想到我以前在做openstack的云存储开发时,对rsyslog的日志进行分割的方法,一用果然好用 原理是: 1.从一台已经安装好apache的机器上的apache bin

使用shell做数据库备份的时候,遇到了以下问题,原因未知

由于对shell不是很精通,遇到了下面的问题.如果有人能给以解答,不胜感激 代码如下 #!/bin/bash #実行タイミング 10 0 1 * * bash /var/www/borg/fuel/app/tasks/db_backup.sh SAVE_PATH="/var/tmp/" ymdhms=$(date +%Y%m%d%H%M%S) dump_file_name="backup_${ymdhms}.dump" if [[ $BORG_FUEL_BATCH_