老马一些群控使用说明在线文档用的是showdoc框架
为了保证showdoc上的资料不小心被其他员工改错乱了,因此需要做数据备份
showdoc采用的是sqllite 所以没办法直接用宝塔数据库备份
于是想到写个shell,随便查了下资料。会点编程都都很容易入门,
写完才发现早知道用php了【自己擅长的】直接每天访问指定php也可以达到目的。
不过写都写了还是发出来共享
DATE=`date +%Y-%m-%d` #定义时间 因为我按天备份的所以只要精确到天就行 www_path='/www/wwwroot/doc.98lm.com/' #宝塔网站目录 www_data=$www_path$'/Sqlite/showdoc.db.php' #要备份的数据 BackDir=$www_path$'BackDir/' #要备份的目录 log_text=$www_path$'info.log' #日志文本 if [ ! -d $BackDir ];then #判断是否有备份目录 echo "empty BackDir_data exist " >$log_text mkdir -p $BackDir #-p为父类不存在则生成,存在不影响 fi if [ ! -f $www_data ]; then #判断备份的数据是否存在 cp $www_data $BackDir$DATE'.php' #复制文件 echo $DATE$"suc">$log_text cd $BackDir #进入备份目录 tar -zcvf $DATE.BD.tar.gz * #压缩备份文件 find $lBackDir -mtime -1 -name "*.php" | xargs rm -f #删除php文件 fi
文件夹不存在则创建
if [ ! -d “/data/” ];then
mkdir /data
else
echo “文件夹已经存在”
fi
|
文件存在则删除
if [ ! -f “/data/filename” ];then
echo “文件不存在”
else
rm -f /data/filename
fi
|
判断文件夹是否存在
if [ -d “/data/” ];then
echo “文件夹存在”
else
echo “文件夹不存在”
fi
|
判断文件是否存在
if [ -f “/data/filename” ];then
echo “文件存在”
else
echo “文件不存在”
fi
|
文件比较符
-e 判断对象是否存在
-d 判断对象是否存在,并且为目录
-f 判断对象是否存在,并且为常规文件
-L 判断对象是否存在,并且为符号链接
-h 判断对象是否存在,并且为软链接
-s 判断对象是否存在,并且长度不为0
-r 判断对象是否存在,并且可读
-w 判断对象是否存在,并且可写
-x 判断对象是否存在,并且可执行
-O 判断对象是否存在,并且属于当前用户
-G 判断对象是否存在,并且属于当前用户组
-nt 判断file1是否比file2新 [ “/data/file1” -nt “/data/file2” ]
-ot 判断file1是否比file2旧 [ “/data/file1” -ot “/data/file2” ]
|
剩下几个命令就是linux自带的命令