创建与Solaris / bin / sh shell脚本的现有文件具有相同所有权和权限的新空文件的最佳方法是什么?
这用于旋转日志文件以进行压缩和转储存储。
目前我正在使用:
mv log log_ts && cp -p log_ts log && cp /dev/null log
有更好的方法吗?
更新:不幸的是,这是在一个保守构建的实时Sol10服务器上,没有可用的gnu文件。
答案 0 :(得分:2)
我在GNU中这样做,我想它也适用于Solaris:
touch new_file && chmod --reference=old_file new_file
答案 1 :(得分:1)
你需要做这样的事情:
PERM=`ls -l $EXISTING | cut -d" " -f1 | cut -c2- `
PERMU=`echo $PERM |cut -c1-3 | sed s/-//g`
PERMG=`echo $PERM |cut -c4-6 | sed s/-//g`
PERMO=`echo $PERM |cut -c7-9 | sed s/-//g`
chmod u="$PERMU" $TARGET
chmod g="$PERMG" $TARGET
chmod o="$PERMO" $TARGET
当然这适用于Solaris。