83 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
| ---
 | |
| - name: System Cleanup and Maintenance
 | |
|   hosts: all
 | |
|   become: yes
 | |
|   gather_facts: yes
 | |
|   
 | |
|   tasks:
 | |
|     # 清理包缓存和孤立包
 | |
|     - name: Clean package cache (Debian/Ubuntu)
 | |
|       apt:
 | |
|         autoclean: yes
 | |
|         autoremove: yes
 | |
|       when: ansible_os_family == "Debian"
 | |
|       
 | |
|     - name: Remove orphaned packages (Debian/Ubuntu)
 | |
|       shell: apt-get autoremove --purge -y
 | |
|       when: ansible_os_family == "Debian"
 | |
|       
 | |
|     # 清理日志文件
 | |
|     - name: Clean old journal logs (keep 7 days)
 | |
|       shell: journalctl --vacuum-time=7d
 | |
|       
 | |
|     - name: Clean old log files
 | |
|       find:
 | |
|         paths: /var/log
 | |
|         patterns: "*.log.*,*.gz"
 | |
|         age: "7d"
 | |
|         recurse: yes
 | |
|       register: old_logs
 | |
|       
 | |
|     - name: Remove old log files
 | |
|       file:
 | |
|         path: "{{ item.path }}"
 | |
|         state: absent
 | |
|       loop: "{{ old_logs.files }}"
 | |
|       when: old_logs.files is defined
 | |
|       
 | |
|     # 清理临时文件
 | |
|     - name: Clean /tmp directory (files older than 7 days)
 | |
|       find:
 | |
|         paths: /tmp
 | |
|         age: "7d"
 | |
|         recurse: yes
 | |
|       register: tmp_files
 | |
|       
 | |
|     - name: Remove old temp files
 | |
|       file:
 | |
|         path: "{{ item.path }}"
 | |
|         state: absent
 | |
|       loop: "{{ tmp_files.files }}"
 | |
|       when: tmp_files.files is defined
 | |
|       
 | |
|     # Docker 清理 (如果存在)
 | |
|     - name: Check if Docker is installed
 | |
|       command: which docker
 | |
|       register: docker_check
 | |
|       failed_when: false
 | |
|       changed_when: false
 | |
|       
 | |
|     - name: Clean Docker system
 | |
|       shell: |
 | |
|         docker system prune -f
 | |
|         docker image prune -f
 | |
|         docker volume prune -f        
 | |
|       when: docker_check.rc == 0
 | |
|       
 | |
|     # 磁盘空间检查
 | |
|     - name: Check disk usage
 | |
|       shell: df -h
 | |
|       register: disk_usage
 | |
|       
 | |
|     - name: Display disk usage
 | |
|       debug:
 | |
|         msg: "{{ disk_usage.stdout_lines }}"
 | |
|         
 | |
|     # 内存使用检查
 | |
|     - name: Check memory usage
 | |
|       shell: free -h
 | |
|       register: memory_usage
 | |
|       
 | |
|     - name: Display memory usage
 | |
|       debug:
 | |
|         msg: "{{ memory_usage.stdout_lines }}" |