你的位置:快乐忆站 \ 分享 \ 文章正文

分享一个自用多功能sh文件

自己网上找来的几个功能合并到了一个脚本上,包括了备份数据库,上传数据库到Dropbox,释放内存。加上计划任务的话,就能实现每日自动备份数据库并同步到Dropbox,每日自动释放内存。黄金有价,数据无价,望此脚本能帮助一些vps用户更好的保护自己的数据。

下面是一张我在阿里云主机上的运行截图:

vps运行截图

脚本如下:

#!/bin/bash
#

echo "Starting ..."
nowtime=`date +%Y%m%d -d "-1 day"`
# 备份目标文件,把/home/bak改为你自己的目录
Backup_file="/home/bak/mysql_bak.$nowtime.sql.gz"

# 须将*修改成自己MySQL的root密码
# sock也需要修改为自己的,具体可在/etc/my.cnf中找到
mysqldump -uroot -p'*' -S /tmp/mysql.sock -A -B|gzip > $Backup_file

# 编辑你自己的Dropbox账号信息
DROPBOX_USER="i@xiaosong.org"
DROPBOX_PASS="*"
# 存储备份文件的Dropbox目录
DROPBOX_DIR="/vps/vps-sql-bak"

# Upload a file to Dropbox.
# $1 = Source file
# $2 = Destination file.
function dropboxUpload
{
  # Initiate
  LOGIN_URL="https://www.dropbox.com/login"
  HOME_URL="https://www.dropbox.com/home"
  UPLOAD_URL="https://dl-web.dropbox.com/upload"
  COOKIE_FILE="/tmp/du_cookie_$RANDOM"
  RESPONSE_FILE="/tmp/du_resp_$RANDOM"

  UPLOAD_FILE=$1
  DEST_FOLDER=$2

  # Login
  echo -ne " > Logging in Your Dropbox Account ..."
  curl -s -i -c $COOKIE_FILE -o $RESPONSE_FILE --data "login_email=$DROPBOX_USER&login_password=$DROPBOX_PASS&t=$TOKEN" "$LOGIN_URL"
  grep "location: /home" $RESPONSE_FILE > /dev/null
  echo -e " "

  # Load home page
  echo -ne " > Loading Your Dropbox Home Directory ..."
  curl -s -i -b "$COOKIE_FILE" -o "$RESPONSE_FILE" "$HOME_URL"
  echo -e " "

  # Get token
  TOKEN=$(cat "$RESPONSE_FILE" | tr -d '\n' | sed 's/.*<form action="https:\/\/dl-web.dropbox.com\/upload"[^>]*>\s*<input type="hidden" name="t" value="\([a-z 0-9]*\)".*/\1/')

  # Upload file
  echo -ne " > Uploading '$UPLOAD_FILE' to 'Dropbox$DEST_FOLDER/' ..."
  curl -s -i -b $COOKIE_FILE -o $RESPONSE_FILE -F "plain=yes" -F "dest=$DEST_FOLDER" -F "t=$TOKEN" -F "file=@$UPLOAD_FILE"  "$UPLOAD_URL"
  grep "HTTP/1.1 302 FOUND" "$RESPONSE_FILE" > /dev/null
  rm -f "$COOKIE_FILE" "$RESPONSE_FILE"
  echo -ne " > Uploading finished!"
}

dropboxUpload "$Backup_file" "$DROPBOX_DIR"

# Release memory
echo "Starting release memory ..."
used=`free -m | awk 'NR==2' | awk '{print $3}'`
free=`free -m | awk 'NR==2' | awk '{print $4}'`

echo "===========================" >> /var/log/mem.log
date >> /var/log/mem.log
echo "Memory usage | [Use:${used}MB][Free:${free}MB]" >> /var/log/mem.log

if [ $free -le 100 ] ; then
  sync && echo 1 > /proc/sys/vm/drop_caches
  sync && echo 2 > /proc/sys/vm/drop_caches
  sync && echo 3 > /proc/sys/vm/drop_caches
  echo "OK" >> /var/log/mem.log
  echo "Released!"
else
  echo "Not required" >> /var/log/mem.log
  echo "Enough memory, do nothing!"
fi
echo "All finished!"

加入计划任务:

crontab -e

添加一行:

00 00 * * * /bin/bash /root/freemem.sh

保存退出后即可在每日0点自动运行脚本,备份数据库,上传至网盘,释放内存。

如果你还没有Dropbox账号,点击下面链接去注册吧:(你我一起增加500M的空间,何乐而不为呢?)

http://db.tt/0ecPglB

Over!

注意:上传到dropbox的代码失效了,现在的方法比较麻烦,稍后整理放出。

« 上一篇

说两句吧:

*

*

正在回复: 取消

  1. 8#
    毕加波
    毕加波 Chromium 31.0.1650.63 Ubuntu Chromium x64 2013-12-21 19:01 回复
    感谢小松,刚用上!
  2. 7#
    值得买
    值得买 Google Chrome 21.0.1180.75 Windows 7 2012-08-10 21:57 回复
    看到代码就头大,先收藏了!!
    小松
    小松 Google Chrome 22.0.1229.2 Windows 8 x64 Edition 2012-08-11 13:08 回复
    @值得买:看到头大还收藏?委屈你了!
    小子
    小子 Google Chrome 22.0.1229.2 Windows 7 2012-08-13 07:44 回复
    @小松:太TM委屈那位哥了
    小松
    小松 Google Chrome 22.0.1229.2 Windows 8 x64 Edition 2012-08-13 08:15 回复
    @小子:我最讨厌那些看都不看文章就随便乱说的了
  3. 6#
    小子
    小子 Google Chrome 22.0.1229.2 Windows 7 2012-08-10 19:20 回复
    啊哟为,NB
    小松
    小松 Google Chrome 22.0.1229.2 Windows 8 x64 Edition 2012-08-11 13:07 回复
    @小子:就知道讽刺,尼玛!
    小子
    小子 Google Chrome 22.0.1229.2 Windows 7 2012-08-13 07:43 回复
    @小松:这你awk,tr,cat,sed都熟练到这程度了,怎么能说哥讽刺你呢
    小松
    小松 Google Chrome 22.0.1229.2 Windows 8 x64 Edition 2012-08-13 08:13 回复
    @小子:都是网上找的,我合并一下
  4. 5#
    2nd丶骨頭
    2nd丶骨頭 Google Chrome 17.0.963.84 Windows XP 2012-08-09 16:36 回复
    我就一直在想,我的博客什么时候能像小松这样有人气啊~  o(︶︿︶)o 唉~
    一直都是来围观, 今天实在忍不住了,来插一脚~
    小松
    小松 Google Chrome 22.0.1229.0 Windows 8 x64 Edition 2012-08-09 16:59 回复
    @2nd丶骨頭:不会吧。。。我的ip晒出来寒碜死了,一天最多60ip。。。
    2nd丶骨頭
    2nd丶骨頭 Google Chrome 17.0.963.84 Windows XP 2012-08-09 17:15 回复
    @小松:看来你是不知道每天2、3个IP的感受。。。。
    小松
    小松 Google Chrome 22.0.1229.0 Windows 8 x64 Edition 2012-08-09 18:29 回复
    @2nd丶骨頭:慢慢来,内容是王,等你有内容了,搜索引擎流量自然就上去了,当然,网站速度最好也要跟上,要不然,没人愿意来访问你的博客
    小子
    小子 Google Chrome 22.0.1229.2 Windows 7 2012-08-10 19:24 回复
    @小松:“网站速度要跟上”,徐老师你是在鄙视我么
    2nd丶骨頭
    2nd丶骨頭 Google Chrome 17.0.963.84 Windows XP 2012-08-10 19:25 回复
    @小松:话说小松哥~  能求个友链不?
    小松
    小松 Google Chrome 22.0.1229.2 Windows 8 x64 Edition 2012-08-11 13:09 回复
    @小子:文中只字未提你,你怎么说我鄙视你?
    小松
    小松 Google Chrome 22.0.1229.2 Windows 8 x64 Edition 2012-08-11 13:10 回复
    @2nd丶骨頭:友链不友链的都只是个形式,常来往才是最真实的
    2nd丶骨頭
    2nd丶骨頭 Google Chrome 17.0.963.84 Windows XP 2012-08-11 14:39 回复
    @小松:我还真是常来,只是没留下脚印罢了,我觉得我每次看自己博客的时候,都来逛一下这儿,主要是特别喜欢这个风格~
    小松
    小松 Google Chrome 22.0.1229.2 Windows 8 x64 Edition 2012-08-11 15:03 回复
    @2nd丶骨頭:我这风格被很多人吐槽了。。。难得找到个喜欢的~
    2nd丶骨頭
    2nd丶骨頭 Google Chrome 17.0.963.84 Windows XP 2012-08-11 15:06 回复
    @小松:嘿嘿~   真的很喜欢这个风格,就是自己还写不出来,所以还有很多要向小松哥学习呀~
    小松
    小松 Google Chrome 22.0.1229.2 Windows 8 x64 Edition 2012-08-11 15:10 回复
    @2nd丶骨頭:我也是用开源框架的,没啥技术含量。。。
    2nd丶骨頭
    2nd丶骨頭 Google Chrome 17.0.963.84 Windows XP 2012-08-11 16:25 回复
    @小松:嘿嘿~  以后还希望小松哥多多关照了哈~  o(∩_∩)o 哈哈
    小松
    小松 Google Chrome 22.0.1229.2 Windows 8 x64 Edition 2012-08-11 17:21 回复
    @2nd丶骨頭:这个没问题,有问题多多交流便是~
  5. 4#
    alen
    alen Google Chrome 21.0.1180.75 Windows 8 2012-08-09 13:43 回复
    路过的。。。
    小松
    小松 Google Chrome 18.0.1025.166 Android 4.0.4 2012-08-09 14:33 回复
    @alen:哈哈,太酱油了!
  6. 3#
    应用世界
    应用世界 Google Chrome 22.0.1221.0 Windows XP 2012-08-08 23:46 回复
    想问一下,emlog怎样才可以实现边栏模块跟随浏览条滚动,而且还可以放广告代码又不无限刷新呢?
    小松
    小松 Google Chrome 22.0.1229.0 Windows 8 x64 Edition 2012-08-09 09:41 回复
    @应用世界:这个其实跟emlog无关,代码是通用的,你查看我源码就行了
    应用世界
    应用世界 Google Chrome 17.0.963.84 Windows XP 2012-08-09 12:05 回复
    @小松:在那看啊?可以给我源码?
    小松
    小松 Google Chrome 22.0.1229.0 Windows 8 x64 Edition 2012-08-09 13:25 回复
    @应用世界:源码都在网页里面,请自行下载
    应用世界
    应用世界 Google Chrome 22.0.1221.0 Windows XP 2012-08-09 14:07 回复
    @小松:你就直接给我个下载地址啊。。我找不到啊、。
    小松
    小松 Google Chrome 18.0.1025.166 Android 4.0.4 2012-08-09 14:38 回复
    @应用世界:右击,查看源码
    小子
    小子 Google Chrome 22.0.1229.2 Windows 7 2012-08-10 19:21 回复
    @小松:他估计不会代码,不然这些不要你教,徐老师您分析能力能强一点么?
    小松
    小松 Google Chrome 22.0.1229.2 Windows 8 x64 Edition 2012-08-11 13:08 回复
    @小子:不会代码还问我要代码干啥?
    小子
    小子 Google Chrome 22.0.1229.2 Windows 7 2012-08-11 13:27 回复
    @小松:会的还需要问你要么,人家估计要的是文件
    小松
    小松 Google Chrome 22.0.1229.2 Windows 8 x64 Edition 2012-08-11 13:31 回复
    @小子:还有另一个目的,增加外链
  7. 2#
    老王
    老王 Google Chrome 19.0.1084.52 Windows XP 2012-08-08 17:47 回复
    没用过,不知道干嘛用、
    小松
    小松 Google Chrome 18.0.1025.166 Android 4.0.4 2012-08-08 19:43 回复
    @老王:虚拟主机一般用不上,独立主机用的
    老王
    老王 Google Chrome 19.0.1084.52 Windows XP 2012-08-09 09:00 回复
    @小松:投来羡慕的目光,用独立主机的小松。
    小松
    小松 Google Chrome 22.0.1229.0 Windows 8 x64 Edition 2012-08-09 09:41 回复
    @老王:公司试用的,觉得合适就买下,自己也能折腾折腾
    老王
    老王 Google Chrome 19.0.1084.52 Windows XP 2012-08-09 13:56 回复
    @小松:一个人用多浪费呀,找个人合租。
    小松
    小松 Google Chrome 18.0.1025.166 Android 4.0.4 2012-08-09 14:37 回复
    @老王:没人愿意,哈哈
  8. 1#
    林西老九
    林西老九 Google Chrome 21.0.1180.60 Windows 7 2012-08-08 12:11 回复
    这是个什么东西啊,啊啊啊啊?
    小松
    小松 Google Chrome 18.0.1025.166 Android 4.0.4 2012-08-08 13:30 回复
    @林西老九:linux下的脚本,备份用的

随机日志:

推荐日志:

彩色标签:

sitemap