我想保留我在 github 等网站上的 Linux 机器的设置,以便了解文件位置、防火墙规则、网络设置和任何其他关键设置。我记得以下这些,但我相信我会遗漏更多,并非常希望保存更多命令。
#!/bin/bash
machine=$(hostname -f)
mkdir log_$machine
du -hs /* &> log_$machine/DiskUsage_root_$machine.log
ls -altr /home &> log_$machine/ls_home_$machine.log
ls -altr /data &> log_$machine/ls_data_$machine.log
ls -altr /data/Install &> log_$machine/ls_Install_$machine.log
tree -C -L 1 / &> log_$machine/tree_root_$machine.log
tree -C -L 1 /data &> log_$machine/tree_data_$machine.log
tree -C -L 1 /data/Install &> log_$machine/tree_data_$machine.log
tree -C -L 1 /home &> log_$machine/tree_home_$machine.log
ifconfig &> log_$machine/networkSettings_$machine.log
crontab -l &> log_$machine/crontab_$machine.log
cat /etc/fstab &> log_$machine/fstab_$machine.log
iptables-save &> log_$machine/firewall_$machine.log
route -n &> log_$machine/gateway_route_$machine.log
cat /etc/bashrc &> log_$machine/etc_bashrc_$machine.log
cat /proc/cpuinfo &> log_$machine/proc_cpuinfo_$machine.log
uname -a &> log_$machine/uname_$machine.log
netstat -antp &> log_$machine/netstat_$machine.log
free -m -h &> log_$machine/ram_$machine.log
fdisk -l | grep Disk &> log_$machine/fdisk_$machine.log
dmidecode -t system &> log_$machine/dmidecode_$machine.log
tar -czf log_$machine.tgz log_$machine
答案1
你为什么不直接备份整个/etc
?这就是最多系统范围的配置都已存储。您可能还想备份/var/lib
和$HOME/.config
。或者当然使用适当的备份解决方案!
对于所有这些tree
命令ls -lr
...它们都可以用临时命令替换,locate
以查找您需要的文件,例如
~ $ locate .bashrc
/etc/bash.bashrc
/etc/skel/.bashrc
/home/ipx/.bashrc
...
(您可能需要安装mlocate
或findutils-locate
打包)。
我想这比在 github 上存储一些随机文件列表更好。