创建一个脚本,拷贝/var/logs/messages 文件到 /var/logs/messages.old,然后删除 /var/logs/messages.old 文件中的所有内容
[root@localhost ~]# touch copylog.sh
[root@localhost ~]# vim copylog.sh
#!/bin/bash
#
#copy /var/log/messages to /var/log/messages.old
#then delete the content of the /var/log/messages.old
cp /var/log/messages /var/log/messages.old
cat /dev/null > /var/log/messages.old
echo log file copied and cleaned up
exit 0
~
~
~
~
~
~
~
~
~
~
~
"copylog.sh" 12L, 245C
保存文件并运行,稍微解释一下/dev/null是一个空设备
“>” 是定向输出到文件,如果文件不存在,就创建文件;如果文件存在,就将其清空;一般我们备份清理日志文件的时候,就是这种方法:先备份日志,再用>
,将日志文件清空(文件大小变成0字节);
[root@localhost ~]# ./copylog.sh
bash: ./copylog.sh: Permission denied
提示没有权限,为file的owner加上执行权限
[root@localhost ~]# chmod +x ./copylog.sh
[root@localhost ~]# ./copylog.sh
log file copied and cleaned up
脚本执行成功,并验证messages.old是否被创建,并且文件中的内容是否被清空。
[root@localhost ~]# cat /var/log/messages.old
[root@localhost ~]#
搞定