Shell脚本编写-文件备份

#! /bin/bash
#这是一个文件备份脚本
 
#在备份脚本中定义行的PATH环境变量,以避免出现crontab中找不到命令的情况
PATH=/usr/local/sbin:/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin
 
backup_work_dir='/app/backup'
cd $backup_work_dir
#将脚本中的标准输入和标准输出错误输出到文件中,以便在文件中查看脚本的输出和错误信息
echo "------------------------------START---------------------------------"
date "+%Y-%m-%d %H:%M:%S"44444444444
#备份root用户的定时任务
crontab -l -u root > root.cron.txt 
#备份ami用户的定时任务
crontab -l -u ami > ami.cron.txt
 
#备份当前的进程列表
ps aux > ps.txt 
dt=$(date +%Y-%m-%d)
ipaddr=$(grep IPADDR /etc/sysconfig/network-scripts/ifcfg-eth* | awk -F"=" '{ print $2 }')
filetargz="backup_${ipaddr}_${dt}.tar.gz"
tar --exclude='log/' --exclude='logs/' --exclude='log.' --exclude='.log' -czf ${filetargz} openapi.cron.txt root.cron.txt ps.txt /etc/supervisord.conf /usr/local/apache/conf /app/www/app/scripts /usr/local/sphinx/etc /usr/local/sphinx/scripts
/usr/local/bin/wput ${filetargz} ftp://backup:w3eL4tVHaM@10.128.79.40/ #使用 wput上传备份后的文件到10.128.79.40这个FTP服务器上
 
find ${backup_work_dir} -type f -name 'backup_*.tar.gz' -mtime +30 -exec rm {} \; #删除本地30天以上的备份文件,以避免磁盘空间满的问题
echo "----------------------------END------------------------------------"

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值