先编辑一个.sh文件出来内容如下:
#!/bin/bash
# 数据库认证
user="root"
password="41b203b698"
host="127.0.0.1"
db_name="uwhere"
# 其它
backup_path="/mingshine/mysql_backup"
date=$(date +"%d-%b-%Y")
# 设置导出文件的缺省权限
umask 177
# Dump数据库到SQL文件
/alidata/server/mysql-5.1.73/bin/mysqldump --user=$user --password=$password --host=$host $db_name > $backup_path/$db_name-$date.sql


注意:/alidata/server/mysql-5.1.73/bin/mysqldump这个要用绝对路径





如果是window下编辑的一到Linx下 会报错:
错误信息:
bad interpreter: No such file or directory

解决方法
错误信息:
bad interpreter: No such file or directory

解决办法
1.首先用vi命令打开文件
[root@localhost test]# vi test.sh
2.在vi命令模式中使用 :set ff 命令
可以看到改文件的格式为
fileformat=dos

3.修改文件format为unix

命令::set ff=unix
或者::set fileformat=unix
然后:wq保存退出就可以了







然后就是定时执行shell命令了
主要是用到crontab

先了解命令:
service crond status 查看crond运行状态
/bin/systemctl restart crond.service 重启crond
/bin/systemctl start crond.service 开启crond

如果要定时


Crontab 示例

1、在 凌晨00:01运行

1 0 * * * /home/linrui/XXXX.sh

2、每个工作日23:59都进行备份作业。

59 11 * * 1,2,3,4,5 /home/linrui/XXXX.sh

或者如下写法:

59 11 * * 1-5 /home/linrui/XXXX.sh

3、每分钟运行一次命令

*/1 * * * * /home/linrui/XXXX.sh

4、每个月的1号 14:10 运行

10 14 1 * * /home/linrui/XXXX.sh

注:进入crontab
vi /etc/crontab



#*/1 * * * * root /home/test.sh 每一分钟执行一次

backup_mysql.sh

#!/bin/bash
# 数据库认证
user="root"
password="0c56d95e99"
host="127.0.0.1"
db_name="smartphone"
# 其它
backup_path="/mingshine/mysql_back"
date=$(date +"%d-%b-%Y-%h-%m-%s")
# Dump数据库到SQL文件
/alidata/server/mysql-5.1.73/bin/mysqldump --user=$user --password=$password --host=$host $db_name > $backup_path/$db_name-$date.sql