Key Responsibilities:
- Shell Scripting & Automation:
- Develop, test, and maintain Linux shell scripts to automate routine system administration tasks (e.g., log management, file backup, system monitoring).
- Write scripts to integrate with various system monitoring tools and automated workflows.
- Automate server and network configurations, software installations, and environment setups using shell scripting.
- Implement batch job automation for scheduled tasks, alerts, and system events.
- Linux Systems Administration:
- Monitor and ensure the health and performance of Linux servers, ensuring uptime and optimal performance.
- Manage user accounts, file systems, and permissions, ensuring that all systems are secure and compliant with organizational standards.
- Troubleshoot, diagnose, and resolve Linux-related issues involving the operating system, networking, and application failures.
- Ensure that systems are properly configured to handle backup and recovery processes, and that automated systems are running correctly.
- System Monitoring & Alerts:
- Write scripts to monitor system resources such as CPU, memory, disk space, and network usage, sending alerts when thresholds are exceeded.
- Integrate log aggregation and monitoring tools such as Syslog, Nagios, or Prometheus to generate proactive alerts and reports.
- Develop scripts to capture system metrics and generate automated reports for periodic review.
- Configuration Management:
- Collaborate with configuration management tools (e.g., Ansible, Puppet, Chef) to automate server configuration and ensure consistency across all Linux environments.
- Implement configuration management practices for provisioning new servers, ensuring uniformity in setups across environments.
- Performance Tuning:
- Optimize system performance by writing scripts for continuous performance evaluation and identifying areas for improvement.
- Troubleshoot system performance issues related to CPU, memory, disk, and network, and automate resolutions.
- Backup and Recovery:
- Develop and automate scripts for backup operations (full and incremental backups) for data and configurations.
- Implement disaster recovery procedures using automated tools and scripts.
- Security & Compliance:
- Implement security patches and updates to Linux systems using shell scripts, ensuring system security and compliance with organizational policies.
- Automate the management of user accounts, access permissions, and system security audits.
- Help in setting up and managing security tools such as firewalls, anti-virus, and intrusion detection systems using automation scripts.
- Collaboration & Documentation:
- Work with cross-functional teams to understand infrastructure requirements and create corresponding automation scripts.
- Maintain documentation for all automated scripts, including their function, configuration, and usage.
- Provide technical guidance and training to junior team members on shell scripting and automation best practices.
Skills and Qualifications:
Mandatory Skills:
- Strong experience in Linux systems administration (Ubuntu, CentOS, RHEL, or similar).
- Proficiency in Shell Scripting (Bash, sh, ksh, etc.) with the ability to create scripts for automation, monitoring, and maintenance tasks.
- Deep understanding of Linux file systems, networking, security protocols, and services (e.g., SSH, SFTP, HTTP, NFS, Samba).
- Experience with system monitoring tools (e.g., Nagios, Zabbix, Prometheus, Syslog).
- Familiarity with text processing tools such as awk, sed, grep, cut, and regular expressions.
- Experience in creating cron jobs for task scheduling and automation.
- Knowledge of basic networking concepts like TCP/IP, DNS, DHCP, etc.
- Solid understanding of user and group management, and file permissions in Linux environments.
- Version control experience using Git
Skills Required
Ssh, Sftp, Http, Nfs, Samba