FIELD LINE
Администратор
																			  
		- Регистрация
- 11 Июн 2017
- Сообщения
- 73
- Симпатии
- 69
- Пол
- Мужской
В данной статье рассмотрим возможность автоматического удаления логов из нужных директорий на вашем vds или выделенном Linux сервере.
Допустим, вы хотите что бы раз в сутки удалялись все логи у определенного пользователя, а в нужных каталогах назначались рекурсивные права на запись от нужного пользователя. Можно сделать так, что бы это происходило автоматически раз в сутки.
В примере показано как чистить все логи на сервере из папки /home/ у пользователя user ровно раз в сутки.
	
	
		
			
	
Допустим, у пользователя user имеется 2 сервера hlds и еще что то в каталоге. У первого сервера имя каталога hlds1, у второго сервера имя каталога hlds2.
Настройка:
1) Создайте в папке /home/user/ файл remove_logs.sh
	
	
		
			
	
2) Вставьте туда следующее содержимое:
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
3) Назначьте права на скрипт:
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
4) Сохраняйте изменения.
Вопрос: Что такое chown -R user:user ?
Ответ: Это рекурсивное назначение прав определенного пользователя на файлы и каталоги. В данном случае на 2 каталога hlds1 и hlds2 назначаются рекурсивные права от пользователя user.
Теперь все логи будут удаляться у данного пользователя, а на указанные каталоги hlds1 и hlds2 будут назначаться рекурсивно права от пользователя, что бы права записи не сбились, так как директории постоянно исполняемы. Далее перейдем к процессу автоматизации.
Как добавить задачу в cron, что бы раз в в сутки выполнялись указанные операции в скрипте remove_logs.sh?
Настройка crontab:
1) Введите в терминал команду nano /etc/crontab
2) Вставьте туда следующее в самый конец:
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
3) Сохраняйте изменения.
Теперь у пользователя user чистятся все логи ровно раз в сутки в 23:59:01 , а на файлы игровых серверов данного пользователя назначаются рекурсивные права записи. На этом установка закончена.
Проверить работу можно командой dmesg в терминале. Вы увидите примерно следующее содержимое:
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Приятной работы.
								Допустим, вы хотите что бы раз в сутки удалялись все логи у определенного пользователя, а в нужных каталогах назначались рекурсивные права на запись от нужного пользователя. Можно сделать так, что бы это происходило автоматически раз в сутки.
В примере показано как чистить все логи на сервере из папки /home/ у пользователя user ровно раз в сутки.
Получается, что данный пример показывает как чистить логи в нужных директории в /home/user/, а если точнее, то у пользователя user
		Допустим, у пользователя user имеется 2 сервера hlds и еще что то в каталоге. У первого сервера имя каталога hlds1, у второго сервера имя каталога hlds2.
Настройка:
1) Создайте в папке /home/user/ файл remove_logs.sh
Это можно сделать командой nano /home/user/remove_logs.sh
		
			
				Код:
			
		
		
		echo sheduled task [`date`]: Clearing game logs > /dev/kmsg
find /home/user -type f -name "*.log" -delete
chown -R user:user /home/user/hlds1/
chown -R user:user /home/user/hlds2/
			
				Код:
			
		
		
		chmod +x remove_logs.shВопрос: Что такое chown -R user:user ?
Ответ: Это рекурсивное назначение прав определенного пользователя на файлы и каталоги. В данном случае на 2 каталога hlds1 и hlds2 назначаются рекурсивные права от пользователя user.
Теперь все логи будут удаляться у данного пользователя, а на указанные каталоги hlds1 и hlds2 будут назначаться рекурсивно права от пользователя, что бы права записи не сбились, так как директории постоянно исполняемы. Далее перейдем к процессу автоматизации.
Как добавить задачу в cron, что бы раз в в сутки выполнялись указанные операции в скрипте remove_logs.sh?
Настройка crontab:
1) Введите в терминал команду nano /etc/crontab
2) Вставьте туда следующее в самый конец:
			
				Код:
			
		
		
		59 23 * * * root /home/user/remove_logs.shТеперь у пользователя user чистятся все логи ровно раз в сутки в 23:59:01 , а на файлы игровых серверов данного пользователя назначаются рекурсивные права записи. На этом установка закончена.
Проверить работу можно командой dmesg в терминале. Вы увидите примерно следующее содержимое:
			
				Код:
			
		
		
		sheduled task [Вс ноя 19 23:59:01 MSK 2017]: Clearing game logs 
				 
 
		 
 
		 
 
		 
 
		