shell 脚本使用 【记录】

1.nginx日志切割

vi /var/log/nginx/cut_nginx_log.sh
#!/bin/bash
date=$(date +%F -d -1day)
cd /var/log/nginx/
if [ ! -d cut ] ; then
        mkdir cut
fi
mv access.log cut/access_$(date +%F -d -1day).log
mv error.log cut/error_$(date +%F -d -1day).log
/usr/sbin/nginx -s reload
tar -jcvf cut/$date.tar.bz2 cut/*
rm -rf cut/access* && rm -rf cut/error*
find -type f -mtime +10 | xargs rm -rf
计划任务加入开机计划任务
cat >>/var/spool/cron/root<<eof
00 00 * * * /bin/sh /var/log/nginx/cut_nginx_log.sh >/dev/null 2>&1
Eof

chmod a+x /var/log/nginx/cut_nginx_log.sh

不记录不需要的访问日志

location ~ .*\.(js|jpg|JPG|jpeg|JPEG|css|bmp|gif|GIF)$ {
    access_log  off;
}

3. 设置访问日志的权限

chown -R root.root /var/log/nginx
chmod -R 700 /var/log/nginx

2.数据库备份脚本记录

vim /etc/my.cnf
最后写入一下内容
[mysqldump]
user=root
password=123456
 
vi databackup.sh
cat databackup.sh
#!/bin/bash
export LANG=en_US.UTF-8
savedir=/var/backup/
cd "$savedir"
time="$(date +"%Y-%m-%d")" 
mysqldump -A > all-"$time".sql
scp all-"$time".sql root@192.168.42.251:/opt/backup/ && rm -rf all-*

数据库上创建导出数据库的文件夹

chmod 700 databackup.sh

mkdir  /var/backup

监控主机上创建备份文件夹

mkdir /opt/backup



3.网站程序备份

cat webbak.sh
#!/bin/bash
time="$(date +"%Y-%m-%d")"
tar -zcf /root/web-"$time".tar.gz /wwwdir
scp /root/web-* root@192.168.42.251:/opt/backup && rm -rf web-*
[root@nfs65 ~]# chmod 700 webbak.sh
[root@nfs65 ~]# sh webbak.sh
tar: Removing leading `/' from member names
web-2018-10-30.tar.gz 

启动任务开启

 crontab -e

30 * * * * /usr/sbin/ntpdate time.nuri.net

0 3 * * * /root/webbak.sh



猜你喜欢

转载自www.cnblogs.com/zsl-find/p/9933053.html