修改原来的rm指令到垃圾箱,对于误操作的删除可以直接从垃圾箱里拉回来,同时提高网络安全意识。
创建remove.sh 脚本
PARA_CNT=$#
TRASH_DIR="/home/pass/.trash"   # 指定垃圾箱目录
for i in $*; doSTAMP=`date +%Y%m%d`      # 删除时间fileName=`basename $i`mv $i $TRASH_DIR/$fileName.$STAMP   # 删除文件命令,放到垃圾箱
done修改rm指令
vim ~/.bashrc  # 编辑文件
alias rm="sh /home/pass/tools/remove.sh"  # 末尾增加 rm 重定向source ~/.bashrc # 使修改文件生效
删除文件测试
pass@pass:~$ ls
nginx.conf test.sh tools util.sh uwsgi.ini uwsgi.log uwsgi.pid while.sh
pass@pass:~$ rm nginx.conf test.sh util.sh
pass@pass:~$ ls
tools uwsgi.ini uwsgi.log uwsgi.pid while.sh
检查删除的文件是否放到垃圾箱
pass@pass:~$ ls /home/pass/.trash/
nginx.conf.20240326 test.sh.20240326 util.sh.20240326
将文件从垃圾箱拉取到本地
pass@pass:~$ mv /home/pass/.trash/nginx.conf.20240326 ./nginx.conf
pass@pass:~$ ls
nginx.conf tools uwsgi.ini uwsgi.log uwsgi.pid while.sh
定期删除垃圾数据,节省空间
创建定时任务
(注:首次创建会提示什么工具编辑,这里建议vim选择2)
pass@pass:~$ select-editor 该指令可以重新选择编辑器
Select an editor. To change later, run 'select-editor'.
1. /bin/nano <---- easiest
2. /usr/bin/vim.basic
3. /usr/bin/vim.tiny
4. /bin/edChoose 1-4 [1]: 2
pass@pass:~$ crontab -e
no crontab for pass - using an empty oneSelect an editor. To change later, run 'select-editor'.
1. /bin/nano <---- easiest
2. /usr/bin/vim.basic
3. /usr/bin/vim.tiny
4. /bin/edChoose 1-4 [1]: 2
定时任务设置方法
* * * * * rm -rf /home/pass/.trash/*# 分钟 小时 天 月 星期  命令     每个 * 对应下面时间# 0-59 0-23 1-31 1-12 0-6 command验证定时清理任务的执行
46 * * * * rm -rf /home/pass/.trash/*   # 每小时第46分钟时执行该命令service cron restart 重新启动cron 工具
ubuntu 查看cron定时日志方法
sudo vim /etc/rsyslog.d/50-default.confcron.*   /var/log/cron.log # 找到该行,去掉sudo service rsyslog restart   # 重新启动日志,使修改生效验证结果:
pass@pass:~/.trash$ date
Tue 26 Mar 2024 01:44:25 PM UTC
pass@pass:~/.trash$ ls
log.log test.log test.sh
pass@pass:~/.trash$ date
Tue 26 Mar 2024 01:46:01 PM UTC
pass@pass:~/.trash$ ls
pass@pass:~/.trash$ cat /var/log/cron.log 检查定时任务日志执行成功
Mar 26 13:44:02 pass crontab[49512]: (pass) BEGIN EDIT (pass)
Mar 26 13:44:11 pass crontab[49512]: (pass) REPLACE (pass)
Mar 26 13:44:11 pass crontab[49512]: (pass) END EDIT (pass)
Mar 26 13:44:19 pass cron[49724]: (CRON) INFO (pidfile fd = 3)
Mar 26 13:44:19 pass cron[49724]: (CRON) INFO (Skipping @reboot jobs -- not system startup)
Mar 26 13:46:01 pass CRON[50950]: (pass) CMD (rm -rf /home/pass/.trash/*)
查看定时任务的执行
pass@pass:~$ crontab -l 查看定时任务
46 * * * * rm -rf /home/pass/.trash/*
pass@pass:~$ crontab -r 删除定时任务
pass@pass:~$ crontab -l
no crontab for pass
第二个方法更新中。。。
第三个方法更新中。。。