1.mysql的备份
mysqldump -uroot -pxx --quote-names --default-character-set=utf8 xx> xx.sql
2.压缩
tar -czf xx.tgz xx.sql
rm -f xx.sql
3.日期
day=$(date +%d)
变量,日期,取出天。
传参 $1 第一个参数
$@ 全部参数
4.完整脚本
#!/bin/sh
filekey=$1
day=$(date +%d)
file_sql=$filekey.$day.sql
file_zip=$filekey.$day.tar
echo $file_sql
echo $file_zip
cd /opt/bak
rm -f $file_sql
rm -f $file_zip
mysqldump -uroot -pxx --default-character-set=utf8 $filekey > $file_sql
tar -czf $file_zip $file_sql
rm -f $file_sql
echo "操作完成"
5.同步目录
rsync -vzrtopgu -progress /opt/bak /opt/bak2/
目录bak -> /opt/bak2/bak
rsync -vzrtopgu -progress /opt/bak/ /opt/bak2/
目录 bak -> bak2
6.同步目录后,备份
root_back="/opt2/back/ud/"
root_sync=$root_back"sync/"
day=$(date +%d)
root_tag=$root_back$day"/"
echo $root_sync
echo $root_tag
rm -rf $root_tag
cp -r $root_sync $root_tag
7.定时器
cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
service crond status //查看服务状态
crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除某个用户的cron服务
crontab -e //编辑某个用户的cron服务
基本格式 :
* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
crontab文件的一些例子:
#每晚的21:30重启apache。
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
#每月1、10、22日
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
#每天早上6点10分
10 6 * * * date
#每两个小时
0 */2 * * * date
#晚上11点到早上8点之间每两个小时,早上8点
0 23-7/2,8 * * * date
#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * mon-wed date
#1月份日早上4点
0 4 1 jan * date
阅读(463) | 评论(0) | 转发(0) |