怎么通过shell脚本mysql备份脚本shellLinux系统

博客分类:
使用linux做备份时,需要定时做备份,并且能够将前几天没用的备份文件自动删除,
语句写法:
find 对应目录 -name "文件名"& -mtime +天数& -exec rm -rf {} ;
当然也可以使用
find 对应目录 -name "文件名" type f& -mtime +天数& -exec rm {} ;
&&
这两条命令基本一样
这是我写的一个删除svn增量备份的shell脚本
find 命令后面 “/home/jordy/svn/”是我备份文件的路径,“daily_incremental_backup.*”表示我要删除的文件是以“daily_incremental_backup”为开头的文件,“-mtime + DAYS”表示删除的前DAYS以前的备份文件或文件夹
注意:如果是增量备份,会出现这种情况,比如今天没有备份新文件,例如:
今天是8月3号,而我的增量备份只有7月30号以前的,那么上述的脚本文件是按照30号前的10天以前的文件删除,也就是将7月20号以前(含7月20号的文件)删除。
浏览 12572
浏览: 176138 次
来自: 北京
java可以写测试脚本吗?
我代为回答2楼的问题,呵呵,因为我也遇到了这个问题。使用adm ...
我想问一下怎么使用“服务器配置管理员”怎么登陆啊!!!!
能创建文件夹吗?比如说:http://127.0.0.1/sv ...
yhjhoo 写道好像没有一个外部的jar包,请教以下如何在l ...
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'Shell脚本:使用rsync备份文件/目录
本文我们介绍一个shell脚本,用来使用rsync命令将你本地Linux机器上的文件/目录备份到远程Linux服务器上。使用该脚本会以交互的方式实施备份,你需要提供远程备份服务器的主机名/ip地址和文件夹位置。我们使用一个单独的列表文件,在这个文件中你需要列出要备份的文件/目录。我们添加了两个脚本,第一个脚本在每次拷贝完一个文件后询问密码(如果你启用了ssh密钥验证,那么就不会询问密码),而第二个脚本中,则只会提示一次输入密码。
我们打算备份bckup.txt,dataconfig.txt,docs和orcledb。
[root@Fedora21 tmp]# ls -l
-rw-r--r--. 1 root root 0 May 15 10:43 bckrsync.sh
-rw-r--r--. 1 root root 0 May 15 10:44 bckup.txt
-rw-r--r--. 1 root root 0 May 15 10:46 dataconfig.txt
drwxr-xr-x. 2 root root 4096 May 15 10:45 docs
drwxr-xr-x. 2 root root 4096 May 15 10:44 oracledb
bckup.txt文件包含了需要备份的文件/目录的详情
[root@Fedora21 tmp]# cat /tmp/bckup.txt
/tmp/oracledb
/tmp/dataconfig.txt
[root@Fedora21 tmp]#
#!/bin/bash
# 将备份列表文件的路径保存到变量中
backupf='/tmp/bckup.txt'
# 输入一个提示信息
echo "Shell Script Backup Your Files / Directories Using rsync"
# 检查是否输入了目标服务器,如果为空就再次提示用户输入
while [ x$desthost = "x" ]; do
# 提示用户输入目标服务器地址并保存到变量
read -p "Destination backup Server : " desthost
# 结束循环
# 检查是否输入了目标文件夹,如果为空就再次提示用户输入
while [ x$destpath = "x" ]; do
# 提示用户输入目标文件夹并保存到变量
read -p "Destination Folder : " destpath
# 结束循环
# 逐行读取备份列表文件
for line in `cat $backupf`
# 对每一行都进行处理
# 显示要被复制的文件/文件夹名称
echo "Copying $line ... "
# 通过 rsync 复制文件/文件夹到目标位置
rsync -ar "$line" "$desthost":"$destpath"
# 显示完成
echo "DONE"
运行带有输出结果的脚本
[root@Fedora21 tmp]# ./bckrsync.sh
Shell Script Backup Your Files / Directories Using rsync
Destination backup Server : 104.*.*.41
Destination Folder : /tmp
Copying /tmp/oracledb ...
The authenticity of host '104.*.*.41 (104.*.*.41)' can't be established.
ECDSA key fingerprint is 96:11:61:17:7f:fa:......
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '104.*.*.41' (ECDSA) to the list of known hosts.
root@104.*.*.41's password:
Copying /tmp/dataconfig.txt ...
root@104.*.*.41's password:
Copying /tmp/docs ...
root@104.*.*.41's password:
[root@Fedora21 tmp]#
#!/bin/bash
# 将备份列表文件的路径保存到变量中
backupf='/tmp/bckup.txt'
# 输入一个提示信息
echo "Shell Script Backup Your Files / Directories Using rsync"
# 检查是否输入了目标服务器,如果为空就再次提示用户输入
while [ x$desthost = "x" ]; do
# 提示用户输入目标服务器地址并保存到变量
read -p "Destination backup Server : " desthost
# 结束循环
# 检查是否输入了目标文件夹,如果为空就再次提示用户输入
while [ x$destpath = "x" ]; do
# 提示用户输入目标文件夹并保存到变量
read -p "Destination Folder : " destpath
# 结束循环
# 检查是否输入了目标服务器密码,如果为空就再次提示用户输入
while [ x$password = "x" ]; do
# 提示用户输入密码并保存到变量
# 使用 -s 选项不回显输入的密码
read -sp "Password : " password
# 结束循环
# 逐行读取备份列表文件
for line in `cat $backupf`
# 对每一行都进行处理
# 显示要被复制的文件/文件夹名称
echo "Copying $line ... "
# 使用 expect 来在脚本中输入密码
/usr/bin/expect && EOD
# 推荐设置超时为 -1
set timeout -1
# 通过 rsync 复制文件/文件夹到目标位置,使用 expect 的组成部分 spawn 命令
spawn rsync -ar ${line} ${desthost}:${destpath}
# 上一行命令会等待 &password& 提示
expect "*?assword:*"
# 在脚本中提供密码
send "${password}\r"
# 等待文件结束符(远程服务器处理完了所有事情)
expect eof
# 结束 expect 脚本
# 显示结束
echo "DONE"
运行第二个带有输出结果的脚本的屏幕截图
希望这些脚本对你备份会有帮助!!
作者: 译者: 校对:
原创翻译, 荣誉推出
共计翻译: 176 篇
| 共计贡献: 1039 天
贡献时间: -&
24%-43%55%-86%
本文我们介绍一个shell脚本,用来使用rsync命令将你本地Linux机器上的文件/目录备份到远程Linux服务器上。使用该脚本会以交互的方式实施备份,你需要提供远程备份服务器的主机名/ip地址和文件夹位置。我们使用一个单独的列表文件,在这个文件中你需要列出要备份的文件/目录。我们添加了两个脚本,第一个脚本在每次拷贝完一个文件后询问密码(如果你启用了ssh密钥验证,那么就不会询问密码),而第二个脚本中,则只会提示一次输入密码。 我们打算备份bckup.txt,dataconfig.txt,docs和orcledb。 # ls -l total 12 -rw-r--r--. 1 root root
上一篇:下一篇:
评论功能关闭
根据国家法律法规要求,本站暂时关闭文章评论功能。开放时间不确定。我们将谋求一种可以让大家更好的发表意见的方式。
根据国家法律法规要求,只有实名认证后才可以发表评论。
分享到微信
打开微信,点击顶部的“╋”,
使用“扫一扫”将网页分享至微信。
请将我们加入您的广告过滤器的白名单,请支持开源站点。谢谢您。写一个使用shell脚本增量备份系统文件,顺便复习一下shell脚本相关的命令,这个脚本可以根据自己的需求来备份不同的文件或者文件夹,进行完整备份和增量备份。
参考的网址:http://blog.51cto.com/wgkgood/1330200
直接上脚本如下:
1 #########################################################################
2 # File Name: back_template.sh
3 # Author: happy
4 # mail: zaqwsx526@163.com
5 # Created Time: Wed 06 Jun 2018 12:17:16 PM CST
6 #########################################################################
7 #!/bin/bash
8 SOURCE_DIR=(
11 TARGET_DIR=/backup/data/
12 YEAR=`date +%Y`
13 MONTH=`date +%m`
14 DAY=`date +%d`
15 WEEK=`date +%u`
16 FILES=system_backup.tgz
17 CODE=$?
18 if [ -z "$*" ];then
echo -e "Please Enter Your Backup Files or Directories\n--------------------------------------------\nExample $0 /boot /etc ......"
22 #Determine Whether the Target Directory Exists
23 if [ ! -d $TARGET_DIR/$YEAR/$MONTH/$DAY ];then
mkdir -p $TARGET_DIR/$YEAR/$MONTH/$DAY
echo "This $TARGET_DIR is Created Successfully !"
27 #EXEC Full_Backup Function Command""
28 Full_Backup()
if [ "$WEEK" -eq "7" ];then
rm -rf $TARGET_DIR/snapshot
cd $TARGET_DIR/$YEAR/$MONTH/$DAY
tar -g $TARGET_DIR/snapshot -czvf $FILES `echo ${SOURCE_DIR[@]}`
[ "$CODE" == "0" ]&&echo -e
"--------------------------------------------\nThese Full_Backup System Files Backup Successfully !"
37 #Perform incremental BACKUP Function Command
38 Add_Backup()
cd $TARGET_DIR/$YEAR/$MONTH/$DAY ;
if [ -f $TARGET_DIR/$YEAR/$MONTH/$DAY/$FILES ];then
read -p "These $FILES Already Exists, overwrite confirmation yes or no ? : " SURE
if [ $SURE == "no" -o $SURE == "n" ];then
sleep 1 ;exit 0
#Add_Backup Files System
if [ $WEEK -ne "7" ];then
cd $TARGET_DIR/$YEAR/$MONTH/$DAY ;tar -g $TARGET_DIR/snapshot -czvf $$_$FILES `echo ${SOURCE_DIR[@]}`
[ "$CODE" == "0" ]&&echo -e
"-----------------------------------------\nThese Add_Backup System Files Backup Successfully !"
if [ $WEEK -ne "7" ];then
cd $TARGET_DIR/$YEAR/$MONTH/$DAY ;tar -g $TARGET_DIR/snapshot -czvf $FILES `echo ${SOURCE_DIR[@]}`
[ "$CODE" == "0" ]&&echo -e
"-------------------------------------------\nThese Add_Backup System Files Backup Successfully !"
58 Full_BAdd_Backup
阅读(...) 评论()分享25个Linux开发中常用的shell脚本作者:课课家教育&http://www.kokojia.com点击数:11489发布时间: 14:22:02
  所有的大的程序都是由小的模块堆积起来的,程序员一定要懂得一种脚本的书写如果您只会在linux下工作,所以就只能写linux的shell脚本了,课课家在此为大家搜集了25个Linux使用者们经常用的shell脚本,希望对大家有所帮助。
  1.模拟linnux登录shell
  #/bin/bash
  echo -n "login:"
  read name
  echo -n "password:"
  read passwd
  if [ $name = "cht" -a $passwd = "abc" ];then
  echo "the host and password is right!"
  else echo "input is error!"
  2.比较两个数大小
  #/bin/bash
  echo "please enter two number"
  read a
  read b
  if test $a -eq $b
  then echo "NO.1 = NO.2"
  elif test $a -gt $b
  then echo "NO.1 & NO.2"
  else echo "NO.1 & NO.2"
  3.查找/root/目录下是否存在该文件
  #/bin/bash
  echo "enter a file name:"
  read a
  if test -e /root/$a
  then echo "the file is exist!"
  else echo "the file is not exist!"
  4.for循环的使用
  #/bin/bash
  for num in 1 2 3 4 5 6 7 8 9 10
  echo "$num"
  #/bin/bash
  echo "Please enter a user:"
  read a
  b=$(whoami)
  if test $a = $b
  then echo "the user is running."
  else echo "the user is not running."
  6.删除当前目录下大小为0的文件
  #/bin/bash
  for filename in `ls`
  if test -d $filename
  then b=0
  a=$(ls -l $filename | awk '{ print $5 }')
  if test $a -eq 0
  then rm $filename
  7.如果/export/um_lpp_source下有文件,那么将其文件系统大小改为3G
  #/bin/bash
  while line=`ls /export/um_lpp_source`
  if test $line=""
  then echo "NULL"
  sleep 1
  else echo $line
  chfs -a size=3G /export/um_lpp_source
  exit 0
  8.测试IP地址
  #/bin/bash
  for i in 1 2 3 4 5 6 7 8 9
  echo "the number of $i computer is "
  ping -c 1 192.168.0.$i
  9.如果test.log的大小大于0,那么将/opt目录下的*.tar.gz文件
  #/bin/sh
  while name="test.log"
  sleep 1
  b=$(ls -l $name | awk '{print $5}')
  if test $b -ge $a
  #then echo "OK"
  then `cp /opt/*.tar.gz .`
  exit 0
  10.打印读取的内容,为下面的例子做准备
  #/bin/bash
  while read name
  echo $name
  11.从0.sh中读取内容并打印
  #/bin/bash
  while read line
  echo $line
  done & 0.sh
  12.读取a.c中的内容并做加1运算
  #/bin/bash
  test -e a.c
  while read line
  a=$(($line+1))
  done & a.c
  echo $a
  13.普通无参数函数
  #/bin/bash
  echo "hello"
  14.给函数传递参数
  #/bin/bash
  p_num ()
  num=$1
  echo $num
  for n in $@
  p_num $n
  15.创建文件夹
  #/bin/bash
  while :
  echo "please input file's name:"
  read a
  if test -e /root/$a
  echo "the file is existing Please input new file name:"
  mkdir $a
  echo "you aye sussesful!"
  16.获取本机IP地址
  #/bin/bash
  ifconfig | grep "inet addr:" | awk '{ print $2 }'| sed 's/addr://g'
  17.查找最大文件
  #/bin/bash
  for name in *.*
  b=$(ls -l $name | awk '{print $5}')
  if test $b -ge $a
  then a=$b
  namemax=$name
  echo "the max file is $namemax"
  18.查找当前网段内IP用户,重定向到ip.txt文件中
  #/bin/bash
  while :
  a=$(($a+1))
  if test $a -gt 255
  then break
  echo $(ping -c 1 192.168.0.$a | grep "ttl" | awk '{print $4}'| sed 's/://g')
  ip=$(ping -c 1 192.168.0.$a | grep "ttl" | awk '{print $4}'| sed 's/://g')
  echo $ip && ip.txt
  19.打印当前用户
  #/bin/bash
  echo "Current User is :"
  echo $(ps | grep "$$" | awk '{print $2}')
  20.case语句练习
  #!/bin/bash
  echo "enter a number from 1 to 5:"
  read num
  case $num in
  1) echo "you enter 1"
  2) echo "you enter 2"
  3) echo "you enter 3"
  4) echo "you enter 4"
  5) echo "you enter 5"
  *) echo "error"
  21.yes/no返回不同的结构
  #!/bin/bash
  echo "enter [y/n]:"
  read a
  case $a in
  y|Y|Yes|YES) echo "you enter $a"
  n|N|NO|no) echo "you enter $a"
  *) echo "error"
  22.内置命令的使用
  #/bin/bash
  echo "Hello, $USER"
  echo "Today 's date id `date`"
  echo "the user is :"
  echo "this is `uname -s`"
  echo "that's all folks! "
  23.打印无密码用户
  #/bin/bash
  echo "No Password User are :"
  echo $(cat /etc/shadow | grep "!!" | awk 'BEGIN { FS=":" }{print $1}')
  #/bin/bash
  echo "Hello, $USER"
  echo "Today 's date id `date`"
  echo "the user is :"
  echo "this is `uname -s`"
  echo "that's all folks! "
  25.检查端口号是否已启动
  #!/bin/bash
  echo "检查xxx服务..."
  while true
  if test $n -gt 20
  echo "xxx服务启动失败"
  sleep 5
  n=$(($n+1))
  port=`netstat -antp | grep "0.0.0.0:8080"`
  if [ ${#port} -gt 3 ]; then
  echo "xxx服务已经启动"
标签:赞(20)踩(4)分享到:上一篇:下一篇:最新教程热门教程评论()您需要登录后才可以评论请[][]最新评论暂无评论~系统/运维为你推荐推荐查看热门资讯热门图书&>&linux下shell脚本实现数据的导出
linux下shell脚本实现数据的导出
上传大小:13KB
第一次接触linux系统,之前写的数据导出不好使了。原因是程序放在root用户下,要runtime执行exp的话,root不认exp命令;找了好多资料,最后决定写个shell脚本;没接触过shell脚本,网上大部分例子都写的挺复杂的;贴个简单的,不带传参什么的;只是最简单的数据表的导出备份
综合评分:5
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var parentWrap = $(this).parents(".respond_box"),
q = parentWrap.find(".form1").serializeArray(),
resStr = $.trim(parentWrap.find(".res_area_r").val());
console.log(q);
//var res_area_r = $.trim($(".res_area_r").val());
if (resStr == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
//var mess = $(".res_area_r").val();
var mess = resS
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, data.com_username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click", '.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
var parentWrap = $(v).parents(".respond_box");
parentWrap.find(".res_area_r").val($.trim(parentWrap.find(".res_area").val()));
评论共有2条
有用,值得收藏
不错啊,谢谢分享!
VIP会员动态
热门资源标签
CSDN下载频道资源及相关规则调整公告V11.10
下载频道用户反馈专区
下载频道积分规则调整V1710.18
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
资源所需积分/C币
当前拥有积分
当前拥有C币
输入下载码
为了良好体验,不建议使用迅雷下载
linux下shell脚本实现数据的导出
会员到期时间:
剩余下载个数:
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
无法举报自己的资源
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可返还被扣除的积分
被举报人:
beacon_2011
请选择类型
资源无法下载 ( 404页面、下载失败、资源本身问题)
资源无法使用 (文件损坏、内容缺失、题文不符)
侵犯版权资源 (侵犯公司或个人版权)
虚假资源 (恶意欺诈、刷分资源)
含色情、危害国家安全内容
含广告、木马病毒资源
*投诉人姓名:
*投诉人联系方式:
*版权证明:
*详细原因:
linux下shell脚本实现数据的导出}

我要回帖

更多关于 shell脚本定时备份数据库 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信