磁盘空间满了处理办法
需求:数据盘快满了,需要挪到另外一个目录下data下面,但是由于业务需求问题,不能改变原有的数据路径需要怎么处理,可以将文件数据挪到新的目录,然后将挪走的目录软连接到之前的路径即可。如果业务数据在云上,可以直接扩容磁盘,这次的方法是物理机上磁盘容量满了,新挂载的磁盘,在不影响原业务的使用情况下,数据路径不变的一种办法
-
main() 返回下面结果的日志输出
-
find $dir -maxdepth 1 -type d -mtime -365 查找目录 -maxdepth 1 指定目录深度为1层,-type d 指定类型为目录 -mtime +365 指定日期为365天前创建的日期
-
rsync -aR $dir2/ /data/ 使用rsync命令把数据移动到/data/目录下
-
if [ $? -eq 0 ] 判断输出结果是否正常,-eq 等于的意思,0为正常,其他为不正常
-
ln -s /data/dir2 && echo "/usr/local/src/shell/$dir2成功创建软链接" 创建目录的软连接
-
main &> /tmp/move_old_data_
date +%F.log 生成以当前时间的日志文件
#!/bin/bash
main()
{
cd /usr/local/src/shell/
for dir in `ls`
do
for dir2 in `find $dir -maxdepth 1 -type d -mtime +365`
do
rsync -aR $dir2/ /data/
if [ $? -eq 0 ]
then
rm -rf $dir2
echo "/usr/local/src/shell/$dir2 移动成功"
ln -s /data/$dir2 /usr/local/src/shell/$dir2 && echo "/usr/local/src/shell/$dir2成功创建软链接"
echo
else
echo "/usr/local/src/shell/$dir 未移动成功"
fi
done
done
}
main &> /tmp/move_old_data_`date +%F`.log