1.脚本编写
#!/bin/bash
# Cleanup, 版本 3
# 注意:
# -------
# 这个脚本使用了相当多的特性,这些我们稍后将会解释.
#
# 到那时,你已经学了这本书的一半了,你将不会再对shell感觉神秘了。
#
LOG_DIR=/var/log
ROOT_UID=0 # 只有用户ID变量$UID值为0的用户才有root权限.
LINES=50 # 默认的行数
E_XCD=66 # 不能进入到目录时的退出代码值
E_NOTROOT=67 # 不是root用户时退出的代码值
# 必须以root用户运行,以下进行检测
if [ "$UID" -ne "$ROOT_UID" ]
then
echo "Must be root to run this script."
exit $E_NOTROOT
fi
if [ -n "$1" ]
# 测试是否提供了命令行参数(即是测试命令行参数至少有一个参数)
then
lines=$1
else
lines=$LINES # Default, if not specified on command line.
fi
# Stephane Chazelas建议,
#+ 下面是一种更好的检测命令行参数的方法,
#+ 但是对于现在来说还是有些高级。
#
# E_WRONGARGS=65 # 不是数字参数 (参数格式不对)时的退出码
#
# case "$1" in
# "" ) lines=50;;
# *[!0-9]*) echo "Usage: `basename $0` file-to-cleanup"; exit $E_WRONGARGS;;
# * ) lines=$1;;
# esac
#
#* 可以跳到"循环"那章阅读开头一部分去了解上面的代码意思.
cd $LOG_DIR
if [ `pwd` != "$LOG_DIR" ] # 也可以用 if [ "$PWD" != "$LOG_DIR" ]
# 如果工作目录不在/var/log里?
then
echo "Can't change to $LOG_DIR."
exit $E_XCD
fi #在操作清空日志文件之前再次检查是否在正确的目录里
# 可以像下面再次确定是否在正确的目录里:
#
# cd /var/log || {
# echo "Cannot change to necessary directory." >&2
# exit $E_XCD;
# }
tail -$lines messages > mesg.temp # 保存message日志文件最后面几行日志信息到临时文件.
mv mesg.temp messages # 然后用临时文件覆盖messages日志文件
# cat /dev/null > messages
#* 上面这句把messages日志文件全部清空,这样没有上面那样保留最后几行安全
cat /dev/null > wtmp # ': > wtmp' and '> wtmp' have the same effect.
echo "Logs cleaned up."
exit 0
#
#一个脚本以0为退出代码表明脚本执行成功.
2.脚本运行
你可以:
chmod 555 scriptname (使每个人都有读和执行的权限)
也可以:
chmod +rx scriptname (使每个人都有读和执行的权限)chmod u+rx scriptname (仅仅使脚本文件拥有者有读和执行的权限)
3.
分享到:
相关推荐
在Linux系统中,`yum`是一个非常重要的包管理器,用于安装、更新和删除软件包。当用户在命令行输入`yum`时,系统通常会在`/usr/bin`目录下寻找该命令的可执行文件。如果出现“-bash: /usr/bin/yum: No such file or ...
随着运行时间的增长,这个文件可能会变得非常大,不仅占用大量磁盘空间,还可能影响系统的性能。因此,实现`nohup`日志的自动拆分和清理是非常有必要的。本文将详细介绍如何在Linux环境下设置`nohup`日志的定时拆分...
1、创建脚本文件 vi cleandocker.sh 内容如下: #!/bin/sh echo ==================== start clean docker containers logs ========================== logs=$(find /var/lib/docker/containers/ -name *-json....
为了解决该问题,需要修改以下四个文件中的相关设置: - `external/clearsilver/cgi/Android.mk` - `external/clearsilver/java-jni/Android.mk` - `external/clearsilver/util/Android.mk` - `external/...
### libstdc++.so.6: 无法打开共享对象文件: 没有那个文件或目录 #### 问题概述 用户在CentOS 7.6环境中遇到了“libstdc++.so.6: 无法打开共享对象文件: 没有那个文件或目录”的错误提示。该问题通常出现在尝试...
如果遇到问题,需要手动执行SQL脚本,这些脚本通常位于项目源码的`db`目录下。 6. **访问后台管理**:Jeecms默认的后台管理地址是`http://yourserver/manager`,首次登录的管理员账号和密码通常是`admin/admin`。...
这个函数会查找`~/logs`目录下所有`.log`文件,如果文件的修改时间超过7天,就会删除这些文件。 为了控制输出规则,可以利用`props`(属性)来实现。在Android中,`props`是系统属性,可以通过`setprop`和`getprop`...
NULL 博文链接:https://zhangrende.iteye.com/blog/2404656
mac清理 运行以下任务的 macOS 清理脚本: 清空所有已安装卷和主硬盘上的垃圾箱 清除系统日志文件 清除 Adobe 缓存文件 清理 iOS 应用程序 ...brew install fwartner/tap/mac-cleanup 使用卷曲
- **FatJar**:用于将依赖项合并到一个单独的 JAR 文件中的工具。 **下载地址**:[http://fjep.sourceforge.net/](http://fjep.sourceforge.net/) #### 10. RegExTest - Regular Expressions Testing Tool - **...
Concept of design for Color Admin is based on the FLAT design and finally it comes out with a clean and neat design. It is built on top of the popular Bootstrap Framework. Besides that, it is bundled...
在Oracle数据库中,归档日志模式是在数据库运行在归档模式下时产生的,当一个redo log切换发生时,旧的日志文件会被复制到一个安全的位置,即归档日志目录。这样,即使数据库发生故障,也可以通过这些归档日志进行...
-rm -t volume-cleanup .docker run -d -v /var/lib/docker:/var/lib/docker -v /var/run/docker.sock:/var/run/docker.sock容器运行cron -L 15 && tail -F /var/log/docker_volume_cleanup.py并每5分钟运行一次。...
清除系统日志文件 清除Adobe缓存文件 清理iOS应用程序 删除iOS设备备份 清理Xcode派生数据和存档 重置iOS模拟器 清理自制缓存 清理所有旧版本的宝石 清理悬空的Docker映像 清除不活动的内存 清理点缓存 清理Pyenv-...
#### Example2-3 cleanup: 一个增强的和广义的删除日志文件的脚本 **脚本内容:** ```bash #!/bin/bash # 清除, 版本3 # Warning: # ------- # 这个脚本有好多特征, 这些特征是在后边章节进行解释的, 大概是进行到...
mysql安装配置设置; error: can't create transaction lock on /var/lib/rpm/__db.000 解决方法: rm -f /var/lib/rpm/__db.* rpm --rebuilddb yum clean all
这个脚本会查找`$LOG_DIR`目录下所有扩展名为`.log`且30天未被修改的文件进行删除。你可以根据实际情况调整`$LOG_DIR`和`OLD_LOGS`变量的值。 记得给脚本添加执行权限:`chmod +x /path/to/clean-log.sh`,然后测试...
如果在ubuntu/Debian下, 采用apt安装的PHP, 那么在使用Session的时候, 就可能会有小概率遇到这个提示. 复制代码 代码如下: PHP Notice: session_start(): ps_files_cleanup_dir: opendir(/var/lib/php5) failed: ...
在使用PHP进行Web开发时,有时会在Ubuntu或Debian系统上遇到一个与Session相关的错误提示,具体表现为:`PHP Notice: session_start(): ps_files_cleanup_dir: opendir(/var/lib/php5) failed: Permission denied ...
综上所述,Windows Installer Clean Up是Windows用户处理安装问题的一个实用工具,但它需要用户有一定程度的电脑操作知识,以避免误操作导致的问题。对于不熟悉系统操作的用户,建议寻求专业帮助或使用更为现代的...